aboutsummaryrefslogtreecommitdiff
path: root/SocketHttpListener
diff options
context:
space:
mode:
Diffstat (limited to 'SocketHttpListener')
-rw-r--r--SocketHttpListener/Net/HttpListener.cs43
-rw-r--r--SocketHttpListener/Net/HttpListenerPrefixCollection.cs72
2 files changed, 66 insertions, 49 deletions
diff --git a/SocketHttpListener/Net/HttpListener.cs b/SocketHttpListener/Net/HttpListener.cs
index b80180679..f17036a21 100644
--- a/SocketHttpListener/Net/HttpListener.cs
+++ b/SocketHttpListener/Net/HttpListener.cs
@@ -3,7 +3,6 @@ using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Security.Cryptography.X509Certificates;
-using MediaBrowser.Common.Net;
using MediaBrowser.Model.Cryptography;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Net;
@@ -18,47 +17,55 @@ namespace SocketHttpListener.Net
internal ISocketFactory SocketFactory { get; private set; }
internal IFileSystem FileSystem { get; private set; }
internal IStreamHelper StreamHelper { get; private set; }
- internal INetworkManager NetworkManager { get; private set; }
internal IEnvironmentInfo EnvironmentInfo { get; private set; }
public bool EnableDualMode { get; set; }
- AuthenticationSchemes auth_schemes;
- HttpListenerPrefixCollection prefixes;
- AuthenticationSchemeSelector auth_selector;
- string realm;
- bool unsafe_ntlm_auth;
- bool listening;
- bool disposed;
+ private AuthenticationSchemes auth_schemes;
+ private HttpListenerPrefixCollection prefixes;
+ private AuthenticationSchemeSelector auth_selector;
+ private string realm;
+ private bool unsafe_ntlm_auth;
+ private bool listening;
+ private bool disposed;
- Dictionary<HttpListenerContext, HttpListenerContext> registry; // Dictionary<HttpListenerContext,HttpListenerContext>
- Dictionary<HttpConnection, HttpConnection> connections;
+ private Dictionary<HttpListenerContext, HttpListenerContext> registry;
+ private Dictionary<HttpConnection, HttpConnection> connections;
private ILogger _logger;
private X509Certificate _certificate;
public Action<HttpListenerContext> OnContext { get; set; }
- public HttpListener(ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory,
- INetworkManager networkManager, IStreamHelper streamHelper, IFileSystem fileSystem,
+ public HttpListener(
+ ILogger logger,
+ ICryptoProvider cryptoProvider,
+ ISocketFactory socketFactory,
+ IStreamHelper streamHelper,
+ IFileSystem fileSystem,
IEnvironmentInfo environmentInfo)
{
_logger = logger;
CryptoProvider = cryptoProvider;
SocketFactory = socketFactory;
- NetworkManager = networkManager;
StreamHelper = streamHelper;
FileSystem = fileSystem;
EnvironmentInfo = environmentInfo;
+
prefixes = new HttpListenerPrefixCollection(logger, this);
registry = new Dictionary<HttpListenerContext, HttpListenerContext>();
connections = new Dictionary<HttpConnection, HttpConnection>();
auth_schemes = AuthenticationSchemes.Anonymous;
}
- public HttpListener(ILogger logger, X509Certificate certificate, ICryptoProvider cryptoProvider,
- ISocketFactory socketFactory, INetworkManager networkManager, IStreamHelper streamHelper,
- IFileSystem fileSystem, IEnvironmentInfo environmentInfo)
- : this(logger, cryptoProvider, socketFactory, networkManager, streamHelper, fileSystem, environmentInfo)
+ public HttpListener(
+ ILogger logger,
+ X509Certificate certificate,
+ ICryptoProvider cryptoProvider,
+ ISocketFactory socketFactory,
+ IStreamHelper streamHelper,
+ IFileSystem fileSystem,
+ IEnvironmentInfo environmentInfo)
+ : this(logger, cryptoProvider, socketFactory, streamHelper, fileSystem, environmentInfo)
{
_certificate = certificate;
}
diff --git a/SocketHttpListener/Net/HttpListenerPrefixCollection.cs b/SocketHttpListener/Net/HttpListenerPrefixCollection.cs
index 130c5c142..400a1adb6 100644
--- a/SocketHttpListener/Net/HttpListenerPrefixCollection.cs
+++ b/SocketHttpListener/Net/HttpListenerPrefixCollection.cs
@@ -7,18 +7,18 @@ namespace SocketHttpListener.Net
{
public class HttpListenerPrefixCollection : ICollection<string>, IEnumerable<string>, IEnumerable
{
- List<string> prefixes = new List<string>();
- HttpListener listener;
+ private List<string> _prefixes = new List<string>();
+ private HttpListener _listener;
private ILogger _logger;
internal HttpListenerPrefixCollection(ILogger logger, HttpListener listener)
{
_logger = logger;
- this.listener = listener;
+ _listener = listener;
}
- public int Count => prefixes.Count;
+ public int Count => _prefixes.Count;
public bool IsReadOnly => false;
@@ -26,80 +26,90 @@ namespace SocketHttpListener.Net
public void Add(string uriPrefix)
{
- listener.CheckDisposed();
+ _listener.CheckDisposed();
//ListenerPrefix.CheckUri(uriPrefix);
- if (prefixes.Contains(uriPrefix))
+ if (_prefixes.Contains(uriPrefix))
+ {
return;
+ }
- prefixes.Add(uriPrefix);
- if (listener.IsListening)
- HttpEndPointManager.AddPrefix(_logger, uriPrefix, listener);
+ _prefixes.Add(uriPrefix);
+ if (_listener.IsListening)
+ {
+ HttpEndPointManager.AddPrefix(_logger, uriPrefix, _listener);
+ }
}
public void AddRange(IEnumerable<string> uriPrefixes)
{
- listener.CheckDisposed();
- //ListenerPrefix.CheckUri(uriPrefix);
+ _listener.CheckDisposed();
+
foreach (var uriPrefix in uriPrefixes)
{
- if (prefixes.Contains(uriPrefix))
+ if (_prefixes.Contains(uriPrefix))
{
continue;
}
- prefixes.Add(uriPrefix);
- if (listener.IsListening)
+ _prefixes.Add(uriPrefix);
+ if (_listener.IsListening)
{
- HttpEndPointManager.AddPrefix(_logger, uriPrefix, listener);
+ HttpEndPointManager.AddPrefix(_logger, uriPrefix, _listener);
}
}
}
public void Clear()
{
- listener.CheckDisposed();
- prefixes.Clear();
- if (listener.IsListening)
- HttpEndPointManager.RemoveListener(_logger, listener);
+ _listener.CheckDisposed();
+ _prefixes.Clear();
+ if (_listener.IsListening)
+ {
+ HttpEndPointManager.RemoveListener(_logger, _listener);
+ }
}
public bool Contains(string uriPrefix)
{
- listener.CheckDisposed();
- return prefixes.Contains(uriPrefix);
+ _listener.CheckDisposed();
+ return _prefixes.Contains(uriPrefix);
}
public void CopyTo(string[] array, int offset)
{
- listener.CheckDisposed();
- prefixes.CopyTo(array, offset);
+ _listener.CheckDisposed();
+ _prefixes.CopyTo(array, offset);
}
public void CopyTo(Array array, int offset)
{
- listener.CheckDisposed();
- ((ICollection)prefixes).CopyTo(array, offset);
+ _listener.CheckDisposed();
+ ((ICollection)_prefixes).CopyTo(array, offset);
}
public IEnumerator<string> GetEnumerator()
{
- return prefixes.GetEnumerator();
+ return _prefixes.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
- return prefixes.GetEnumerator();
+ return _prefixes.GetEnumerator();
}
public bool Remove(string uriPrefix)
{
- listener.CheckDisposed();
+ _listener.CheckDisposed();
if (uriPrefix == null)
+ {
throw new ArgumentNullException(nameof(uriPrefix));
+ }
- bool result = prefixes.Remove(uriPrefix);
- if (result && listener.IsListening)
- HttpEndPointManager.RemovePrefix(_logger, uriPrefix, listener);
+ bool result = _prefixes.Remove(uriPrefix);
+ if (result && _listener.IsListening)
+ {
+ HttpEndPointManager.RemovePrefix(_logger, uriPrefix, _listener);
+ }
return result;
}