aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaus Vium <clausvium@gmail.com>2019-02-26 21:27:02 +0100
committerClaus Vium <clausvium@gmail.com>2019-02-26 22:11:21 +0100
commite342b7bc71f16286da699bcce299b76df63360dc (patch)
tree51ac1142041e48d1c1bb6f6fdc5febc7db69fb4b
parentf1c93ae618f293eae4cc384fadfd4440c4e0cf2d (diff)
Extend the IHttpServer interface to avoid the typecasting
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs4
-rw-r--r--Emby.Server.Implementations/HttpServer/IHttpListener.cs14
-rw-r--r--MediaBrowser.Controller/Net/IHttpServer.cs22
3 files changed, 24 insertions, 16 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 7be39d674..a1ea17904 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -655,7 +655,7 @@ namespace Emby.Server.Implementations
return;
}
- await ((HttpListenerHost)HttpServer).ProcessWebSocketRequest(context).ConfigureAwait(false);
+ await HttpServer.ProcessWebSocketRequest(context).ConfigureAwait(false);
}
public async Task ExecuteHttpHandlerAsync(HttpContext context, Func<Task> next)
{
@@ -670,7 +670,7 @@ namespace Emby.Server.Implementations
var localPath = context.Request.Path.ToString();
var req = new WebSocketSharpRequest(request, response, request.Path, Logger);
- await ((HttpListenerHost)HttpServer).RequestHandler(req, request.GetDisplayUrl(), request.Host.ToString(), localPath, CancellationToken.None).ConfigureAwait(false);
+ await HttpServer.RequestHandler(req, request.GetDisplayUrl(), request.Host.ToString(), localPath, CancellationToken.None).ConfigureAwait(false);
}
protected virtual IHttpClient CreateHttpClient()
diff --git a/Emby.Server.Implementations/HttpServer/IHttpListener.cs b/Emby.Server.Implementations/HttpServer/IHttpListener.cs
index 835091361..1ef65d9d7 100644
--- a/Emby.Server.Implementations/HttpServer/IHttpListener.cs
+++ b/Emby.Server.Implementations/HttpServer/IHttpListener.cs
@@ -1,9 +1,7 @@
using System;
-using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Emby.Server.Implementations.Net;
-using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Services;
namespace Emby.Server.Implementations.HttpServer
@@ -29,18 +27,6 @@ namespace Emby.Server.Implementations.HttpServer
Action<WebSocketConnectEventArgs> WebSocketConnected { get; set; }
/// <summary>
- /// Gets or sets the web socket connecting.
- /// </summary>
- /// <value>The web socket connecting.</value>
- Action<WebSocketConnectingEventArgs> WebSocketConnecting { get; set; }
-
- /// <summary>
- /// Starts this instance.
- /// </summary>
- /// <param name="urlPrefixes">The URL prefixes.</param>
- void Start(IEnumerable<string> urlPrefixes);
-
- /// <summary>
/// Stops this instance.
/// </summary>
Task Stop();
diff --git a/MediaBrowser.Controller/Net/IHttpServer.cs b/MediaBrowser.Controller/Net/IHttpServer.cs
index f41303007..cede9a98f 100644
--- a/MediaBrowser.Controller/Net/IHttpServer.cs
+++ b/MediaBrowser.Controller/Net/IHttpServer.cs
@@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Services;
+using Microsoft.AspNetCore.Http;
namespace MediaBrowser.Controller.Net
{
@@ -35,5 +38,24 @@ namespace MediaBrowser.Controller.Net
/// If set, all requests will respond with this message
/// </summary>
string GlobalResponse { get; set; }
+
+ /// <summary>
+ /// Sends the http context to the socket listener
+ /// </summary>
+ /// <param name="ctx"></param>
+ /// <returns></returns>
+ Task ProcessWebSocketRequest(HttpContext ctx);
+
+ /// <summary>
+ /// The HTTP request handler
+ /// </summary>
+ /// <param name="httpReq"></param>
+ /// <param name="urlString"></param>
+ /// <param name="host"></param>
+ /// <param name="localPath"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ Task RequestHandler(IHttpRequest httpReq, string urlString, string host, string localPath,
+ CancellationToken cancellationToken);
}
}