aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Net
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Net')
-rw-r--r--MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs5
-rw-r--r--MediaBrowser.Controller/Net/IHttpServer.cs5
-rw-r--r--MediaBrowser.Controller/Net/IServerManager.cs7
-rw-r--r--MediaBrowser.Controller/Net/ISessionContext.cs11
-rw-r--r--MediaBrowser.Controller/Net/IWebSocketConnection.cs14
-rw-r--r--MediaBrowser.Controller/Net/StaticResultOptions.cs5
-rw-r--r--MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs42
7 files changed, 77 insertions, 12 deletions
diff --git a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs
index 990d23970..0afaf955e 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 315b48b83..37142af19 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 d90a0f8ed..5191a62e3 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 be8d28acc..167e17867 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 37fd6708d..e21df3c39 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 5bb2c9a5c..6a104554a 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 394fcd92f..ffeaf286e 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;
+ }
+ }
+
}