aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/SocketSharp
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/SocketSharp')
-rw-r--r--Emby.Server.Implementations/SocketSharp/RequestMono.cs2
-rw-r--r--Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs6
-rw-r--r--Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs12
-rw-r--r--Emby.Server.Implementations/SocketSharp/WebSocketSharpResponse.cs83
4 files changed, 9 insertions, 94 deletions
diff --git a/Emby.Server.Implementations/SocketSharp/RequestMono.cs b/Emby.Server.Implementations/SocketSharp/RequestMono.cs
index 113f76b10..f73adc5ff 100644
--- a/Emby.Server.Implementations/SocketSharp/RequestMono.cs
+++ b/Emby.Server.Implementations/SocketSharp/RequestMono.cs
@@ -118,8 +118,6 @@ namespace Emby.Server.Implementations.SocketSharp
public string Authorization => StringValues.IsNullOrEmpty(request.Headers["Authorization"]) ? null : request.Headers["Authorization"].ToString();
- protected bool validate_cookies { get; set; }
- protected bool validate_query_string { get; set; }
protected bool validate_form { get; set; }
protected bool checked_form { get; set; }
diff --git a/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs b/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
index 77469244b..9f046c3fd 100644
--- a/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
+++ b/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
@@ -52,12 +52,10 @@ using Microsoft.Extensions.Logging;
var endpoint = ctx.Connection.RemoteIpAddress.ToString();
var url = ctx.Request.GetDisplayUrl();
- var queryString = new QueryParamCollection(ctx.Request.Query);
-
var connectingArgs = new WebSocketConnectingEventArgs
{
Url = url,
- QueryString = queryString,
+ QueryString = ctx.Request.Query,
Endpoint = endpoint
};
@@ -73,7 +71,7 @@ using Microsoft.Extensions.Logging;
WebSocketConnected(new WebSocketConnectEventArgs
{
Url = url,
- QueryString = queryString,
+ QueryString = ctx.Request.Query,
WebSocket = socket,
Endpoint = endpoint
});
diff --git a/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs b/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
index bddccf68b..24fd36062 100644
--- a/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
+++ b/Emby.Server.Implementations/SocketSharp/WebSocketSharpRequest.cs
@@ -13,7 +13,6 @@ using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers;
using IHttpFile = MediaBrowser.Model.Services.IHttpFile;
using IHttpRequest = MediaBrowser.Model.Services.IHttpRequest;
-using IHttpResponse = MediaBrowser.Model.Services.IHttpResponse;
using IResponse = MediaBrowser.Model.Services.IResponse;
namespace Emby.Server.Implementations.SocketSharp
@@ -21,7 +20,7 @@ namespace Emby.Server.Implementations.SocketSharp
public partial class WebSocketSharpRequest : IHttpRequest
{
private readonly HttpRequest request;
- private readonly IHttpResponse response;
+ private readonly IResponse response;
public WebSocketSharpRequest(HttpRequest httpContext, HttpResponse response, string operationName, ILogger logger)
{
@@ -34,11 +33,9 @@ namespace Emby.Server.Implementations.SocketSharp
public HttpRequest HttpRequest => request;
- public object OriginalRequest => request;
-
public IResponse Response => response;
- public IHttpResponse HttpResponse => response;
+ public IResponse HttpResponse => response;
public string OperationName { get; set; }
@@ -396,10 +393,9 @@ namespace Emby.Server.Implementations.SocketSharp
public string UserAgent => request.Headers[HeaderNames.UserAgent];
- public QueryParamCollection Headers => new QueryParamCollection(request.Headers);
+ public IHeaderDictionary Headers => request.Headers;
- private QueryParamCollection queryString;
- public QueryParamCollection QueryString => queryString ?? (queryString = new QueryParamCollection(request.Query));
+ public IQueryCollection QueryString => request.Query;
public bool IsLocal => string.Equals(request.HttpContext.Connection.LocalIpAddress.ToString(), request.HttpContext.Connection.RemoteIpAddress.ToString());
diff --git a/Emby.Server.Implementations/SocketSharp/WebSocketSharpResponse.cs b/Emby.Server.Implementations/SocketSharp/WebSocketSharpResponse.cs
index f9ecb52a5..c4fbaddd3 100644
--- a/Emby.Server.Implementations/SocketSharp/WebSocketSharpResponse.cs
+++ b/Emby.Server.Implementations/SocketSharp/WebSocketSharpResponse.cs
@@ -1,23 +1,18 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Net;
-using System.Net.Sockets;
using System.Runtime.InteropServices;
-using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Server.Implementations;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
-using IHttpResponse = MediaBrowser.Model.Services.IHttpResponse;
using IRequest = MediaBrowser.Model.Services.IRequest;
namespace Emby.Server.Implementations.SocketSharp
{
- public class WebSocketSharpResponse : IHttpResponse
+ public class WebSocketSharpResponse : IResponse
{
private readonly ILogger _logger;
@@ -51,42 +46,7 @@ namespace Emby.Server.Implementations.SocketSharp
set => _response.ContentType = value;
}
- public QueryParamCollection Headers => new QueryParamCollection(_response.Headers);
-
- private static string AsHeaderValue(Cookie cookie)
- {
- DateTime defaultExpires = DateTime.MinValue;
-
- var path = cookie.Expires == defaultExpires
- ? "/"
- : cookie.Path ?? "/";
-
- var sb = new StringBuilder();
-
- sb.Append($"{cookie.Name}={cookie.Value};path={path}");
-
- if (cookie.Expires != defaultExpires)
- {
- sb.Append($";expires={cookie.Expires:R}");
- }
-
- if (!string.IsNullOrEmpty(cookie.Domain))
- {
- sb.Append($";domain={cookie.Domain}");
- }
-
- if (cookie.Secure)
- {
- sb.Append(";Secure");
- }
-
- if (cookie.HttpOnly)
- {
- sb.Append(";HttpOnly");
- }
-
- return sb.ToString();
- }
+ public IHeaderDictionary Headers => _response.Headers;
public void AddHeader(string name, string value)
{
@@ -111,51 +71,14 @@ namespace Emby.Server.Implementations.SocketSharp
public Stream OutputStream => _response.Body;
- public void Close()
- {
- if (!this.IsClosed)
- {
- this.IsClosed = true;
-
- try
- {
- var response = this._response;
-
- var outputStream = response.Body;
-
- // This is needed with compression
- outputStream.Flush();
- outputStream.Dispose();
- }
- catch (SocketException)
- {
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Error in HttpListenerResponseWrapper");
- }
- }
- }
-
public bool IsClosed
{
get;
- private set;
- }
-
- public void SetCookie(Cookie cookie)
- {
- var cookieStr = AsHeaderValue(cookie);
- _response.Headers.Add("Set-Cookie", cookieStr);
+ set;
}
public bool SendChunked { get; set; }
- public bool KeepAlive { get; set; }
-
- public void ClearCookies()
- {
- }
const int StreamCopyToBufferSize = 81920;
public async Task TransmitFile(string path, long offset, long count, FileShareMode fileShareMode, IFileSystem fileSystem, IStreamHelper streamHelper, CancellationToken cancellationToken)
{