Răsfoiți Sursa

Extend the IHttpServer interface to avoid the typecasting

Claus Vium 6 ani în urmă
părinte
comite
e342b7bc71

+ 2 - 2
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()

+ 0 - 14
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
@@ -28,18 +26,6 @@ namespace Emby.Server.Implementations.HttpServer
         /// <value>The web socket handler.</value>
         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>

+ 22 - 0
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);
     }
 }