aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectManager.cs24
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs2
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs50
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs2
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj1
5 files changed, 73 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index af1628ba4..dc03f14cb 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -1,10 +1,12 @@
-using MediaBrowser.Common.Configuration;
+using System.Net;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Connect;
using MediaBrowser.Controller.Security;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
@@ -93,11 +95,26 @@ namespace MediaBrowser.Server.Implementations.Connect
var hasExistingRecord = !string.IsNullOrWhiteSpace(ConnectServerId) &&
!string.IsNullOrWhiteSpace(ConnectAccessKey);
+ var createNewRegistration = !hasExistingRecord;
+
if (hasExistingRecord)
{
- await UpdateServerRegistration(wanApiAddress).ConfigureAwait(false);
+ try
+ {
+ await UpdateServerRegistration(wanApiAddress).ConfigureAwait(false);
+ }
+ catch (HttpException ex)
+ {
+ if (!ex.StatusCode.HasValue || ex.StatusCode.Value != HttpStatusCode.NotFound || ex.StatusCode.Value != HttpStatusCode.Unauthorized)
+ {
+ throw;
+ }
+
+ createNewRegistration = true;
+ }
}
- else
+
+ if (createNewRegistration)
{
await CreateServerRegistration(wanApiAddress).ConfigureAwait(false);
}
@@ -136,7 +153,6 @@ namespace MediaBrowser.Server.Implementations.Connect
url = GetConnectUrl(url);
url += "?id=" + ConnectServerId;
- // TODO: Add Access-Key http request header
var options = new HttpRequestOptions
{
Url = url,
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
index 16ca8b099..15d1eea6d 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -168,7 +168,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
_listener = NativeWebSocket.IsSupported
? _listener = new HttpListenerServer(_logger, OnRequestReceived)
- //? _listener = new WebSocketSharpListener(_logger)
+ //? _listener = new WebSocketSharpListener(_logger, OnRequestReceived)
: _listener = new WebSocketSharpListener(_logger, OnRequestReceived);
_listener.WebSocketHandler = WebSocketHandler;
diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs
new file mode 100644
index 000000000..ffc99793e
--- /dev/null
+++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs
@@ -0,0 +1,50 @@
+using MediaBrowser.Model.Logging;
+using System;
+
+namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
+{
+ public class SocketSharpLogger : WebSocketSharp.Logging.ILogger
+ {
+ private readonly ILogger _logger;
+
+ public SocketSharpLogger(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ public void Debug(string message, params object[] paramList)
+ {
+ _logger.Debug(message, paramList);
+ }
+
+ public void Error(string message, params object[] paramList)
+ {
+ _logger.Error(message, paramList);
+ }
+
+ public void ErrorException(string message, Exception exception, params object[] paramList)
+ {
+ _logger.ErrorException(message, exception, paramList);
+ }
+
+ public void Fatal(string message, params object[] paramList)
+ {
+ _logger.Fatal(message, paramList);
+ }
+
+ public void FatalException(string message, Exception exception, params object[] paramList)
+ {
+ _logger.FatalException(message, exception, paramList);
+ }
+
+ public void Info(string message, params object[] paramList)
+ {
+ _logger.Info(message, paramList);
+ }
+
+ public void Warn(string message, params object[] paramList)
+ {
+ _logger.Warn(message, paramList);
+ }
+ }
+}
diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
index f2fae9e90..79916d5ff 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
@@ -35,7 +35,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
public void Start(IEnumerable<string> urlPrefixes)
{
if (_listener == null)
- _listener = new WebSocketSharp.Net.HttpListener();
+ _listener = new HttpListener(new SocketSharpLogger(_logger));
foreach (var prefix in urlPrefixes)
{
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 313063673..24d1447c0 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -162,6 +162,7 @@
<Compile Include="HttpServer\ServerLogger.cs" />
<Compile Include="HttpServer\Security\SessionContext.cs" />
<Compile Include="HttpServer\SocketSharp\SharpWebSocket.cs" />
+ <Compile Include="HttpServer\SocketSharp\SocketSharpLogger.cs" />
<Compile Include="HttpServer\StreamWriter.cs" />
<Compile Include="HttpServer\SwaggerService.cs" />
<Compile Include="Drawing\ImageProcessor.cs" />