diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-03-19 13:21:35 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-03-19 13:21:35 -0400 |
| commit | 9926be0d9de688c04065c916e44ada4177b38a80 (patch) | |
| tree | 15338144a143948ffbee316641757e81489a7354 /MediaBrowser.Controller/Net | |
| parent | b756e677d733992c2033bdd369980a37e17609e4 (diff) | |
| parent | 0564d454e5ad4f59702aa9022af6bb8fd064a9ff (diff) | |
Merge pull request #1043 from MediaBrowser/dev
3.0.5557.0
Diffstat (limited to 'MediaBrowser.Controller/Net')
7 files changed, 77 insertions, 12 deletions
diff --git a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs index 990d23970a..0afaf955e9 100644 --- a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs +++ b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs @@ -70,6 +70,11 @@ namespace MediaBrowser.Controller.Net /// <returns>Task.</returns> public Task ProcessMessage(WebSocketMessageInfo message) { + if (message == null) + { + throw new ArgumentNullException("message"); + } + if (message.MessageType.Equals(Name + "Start", StringComparison.OrdinalIgnoreCase)) { Start(message); diff --git a/MediaBrowser.Controller/Net/IHttpServer.cs b/MediaBrowser.Controller/Net/IHttpServer.cs index 315b48b837..37142af194 100644 --- a/MediaBrowser.Controller/Net/IHttpServer.cs +++ b/MediaBrowser.Controller/Net/IHttpServer.cs @@ -45,6 +45,11 @@ namespace MediaBrowser.Controller.Net event EventHandler<WebSocketConnectEventArgs> WebSocketConnected; /// <summary> + /// Occurs when [web socket connecting]. + /// </summary> + event EventHandler<WebSocketConnectingEventArgs> WebSocketConnecting; + + /// <summary> /// Inits this instance. /// </summary> void Init(IEnumerable<IRestfulService> services); diff --git a/MediaBrowser.Controller/Net/IServerManager.cs b/MediaBrowser.Controller/Net/IServerManager.cs index d90a0f8ed6..5191a62e31 100644 --- a/MediaBrowser.Controller/Net/IServerManager.cs +++ b/MediaBrowser.Controller/Net/IServerManager.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Common.Net; +using MediaBrowser.Model.Events; using System; using System.Collections.Generic; using System.Threading; @@ -58,5 +58,10 @@ namespace MediaBrowser.Controller.Net /// </summary> /// <value>The web socket connections.</value> IEnumerable<IWebSocketConnection> WebSocketConnections { get; } + + /// <summary> + /// Occurs when [web socket connected]. + /// </summary> + event EventHandler<GenericEventArgs<IWebSocketConnection>> WebSocketConnected; } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Net/ISessionContext.cs b/MediaBrowser.Controller/Net/ISessionContext.cs index be8d28acc6..167e178671 100644 --- a/MediaBrowser.Controller/Net/ISessionContext.cs +++ b/MediaBrowser.Controller/Net/ISessionContext.cs @@ -1,14 +1,15 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Session; +using System.Threading.Tasks; namespace MediaBrowser.Controller.Net { public interface ISessionContext { - SessionInfo GetSession(object requestContext); - User GetUser(object requestContext); - - SessionInfo GetSession(IServiceRequest requestContext); - User GetUser(IServiceRequest requestContext); + Task<SessionInfo> GetSession(object requestContext); + Task<User> GetUser(object requestContext); + + Task<SessionInfo> GetSession(IServiceRequest requestContext); + Task<User> GetUser(IServiceRequest requestContext); } } diff --git a/MediaBrowser.Controller/Net/IWebSocketConnection.cs b/MediaBrowser.Controller/Net/IWebSocketConnection.cs index 37fd6708d9..e21df3c395 100644 --- a/MediaBrowser.Controller/Net/IWebSocketConnection.cs +++ b/MediaBrowser.Controller/Net/IWebSocketConnection.cs @@ -1,5 +1,6 @@ using MediaBrowser.Model.Net; using System; +using System.Collections.Specialized; using System.Threading; using System.Threading.Tasks; @@ -11,7 +12,7 @@ namespace MediaBrowser.Controller.Net /// Occurs when [closed]. /// </summary> event EventHandler<EventArgs> Closed; - + /// <summary> /// Gets the id. /// </summary> @@ -25,6 +26,17 @@ namespace MediaBrowser.Controller.Net DateTime LastActivityDate { get; } /// <summary> + /// Gets or sets the URL. + /// </summary> + /// <value>The URL.</value> + string Url { get; set; } + /// <summary> + /// Gets or sets the query string. + /// </summary> + /// <value>The query string.</value> + NameValueCollection QueryString { get; set; } + + /// <summary> /// Gets or sets the receive action. /// </summary> /// <value>The receive action.</value> diff --git a/MediaBrowser.Controller/Net/StaticResultOptions.cs b/MediaBrowser.Controller/Net/StaticResultOptions.cs index 5bb2c9a5c3..6a104554af 100644 --- a/MediaBrowser.Controller/Net/StaticResultOptions.cs +++ b/MediaBrowser.Controller/Net/StaticResultOptions.cs @@ -18,11 +18,6 @@ namespace MediaBrowser.Controller.Net public IDictionary<string, string> ResponseHeaders { get; set; } - public bool Throttle { get; set; } - public long ThrottleLimit { get; set; } - public long MinThrottlePosition { get; set; } - public Func<long, long, long> ThrottleCallback { get; set; } - public Action OnComplete { get; set; } public StaticResultOptions() diff --git a/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs b/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs index 394fcd92ff..ffeaf286e2 100644 --- a/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs +++ b/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Specialized; namespace MediaBrowser.Controller.Net { @@ -8,6 +9,16 @@ namespace MediaBrowser.Controller.Net public class WebSocketConnectEventArgs : EventArgs { /// <summary> + /// Gets or sets the URL. + /// </summary> + /// <value>The URL.</value> + public string Url { get; set; } + /// <summary> + /// Gets or sets the query string. + /// </summary> + /// <value>The query string.</value> + public NameValueCollection QueryString { get; set; } + /// <summary> /// Gets or sets the web socket. /// </summary> /// <value>The web socket.</value> @@ -18,4 +29,35 @@ namespace MediaBrowser.Controller.Net /// <value>The endpoint.</value> public string Endpoint { get; set; } } + + public class WebSocketConnectingEventArgs : EventArgs + { + /// <summary> + /// Gets or sets the URL. + /// </summary> + /// <value>The URL.</value> + public string Url { get; set; } + /// <summary> + /// Gets or sets the endpoint. + /// </summary> + /// <value>The endpoint.</value> + public string Endpoint { get; set; } + /// <summary> + /// Gets or sets the query string. + /// </summary> + /// <value>The query string.</value> + public NameValueCollection QueryString { get; set; } + /// <summary> + /// Gets or sets a value indicating whether [allow connection]. + /// </summary> + /// <value><c>true</c> if [allow connection]; otherwise, <c>false</c>.</value> + public bool AllowConnection { get; set; } + + public WebSocketConnectingEventArgs() + { + QueryString = new NameValueCollection(); + AllowConnection = true; + } + } + } |
