mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-15 21:43:03 +03:00
Remove MediaBrowser.Text since it violates licenses and is overall hacky
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
||||
|
||||
@@ -11,9 +11,7 @@ using System.Threading.Tasks;
|
||||
using MediaBrowser.Model.Cryptography;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.Model.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SocketHttpListener.Primitives;
|
||||
namespace SocketHttpListener.Net
|
||||
{
|
||||
sealed class HttpConnection
|
||||
@@ -44,11 +42,12 @@ namespace SocketHttpListener.Net
|
||||
private readonly ILogger _logger;
|
||||
private readonly ICryptoProvider _cryptoProvider;
|
||||
private readonly IStreamHelper _streamHelper;
|
||||
private readonly ITextEncoding _textEncoding;
|
||||
private readonly IFileSystem _fileSystem;
|
||||
private readonly IEnvironmentInfo _environment;
|
||||
|
||||
public HttpConnection(ILogger logger, Socket socket, HttpEndPointListener epl, bool secure, X509Certificate cert, ICryptoProvider cryptoProvider, IStreamHelper streamHelper, ITextEncoding textEncoding, IFileSystem fileSystem, IEnvironmentInfo environment)
|
||||
public HttpConnection(ILogger logger, Socket socket, HttpEndPointListener epl, bool secure,
|
||||
X509Certificate cert, ICryptoProvider cryptoProvider, IStreamHelper streamHelper, IFileSystem fileSystem,
|
||||
IEnvironmentInfo environment)
|
||||
{
|
||||
_logger = logger;
|
||||
this._socket = socket;
|
||||
@@ -57,7 +56,6 @@ namespace SocketHttpListener.Net
|
||||
this.cert = cert;
|
||||
_cryptoProvider = cryptoProvider;
|
||||
_streamHelper = streamHelper;
|
||||
_textEncoding = textEncoding;
|
||||
_fileSystem = fileSystem;
|
||||
_environment = environment;
|
||||
|
||||
@@ -122,7 +120,7 @@ namespace SocketHttpListener.Net
|
||||
_position = 0;
|
||||
_inputState = InputState.RequestLine;
|
||||
_lineState = LineState.None;
|
||||
_context = new HttpListenerContext(this, _textEncoding);
|
||||
_context = new HttpListenerContext(this);
|
||||
}
|
||||
|
||||
public bool IsClosed => (_socket == null);
|
||||
@@ -427,7 +425,7 @@ namespace SocketHttpListener.Net
|
||||
else
|
||||
str = string.Format("<h1>{0}</h1>", description);
|
||||
|
||||
byte[] error = _textEncoding.GetDefaultEncoding().GetBytes(str);
|
||||
byte[] error = Encoding.UTF8.GetBytes(str);
|
||||
response.Close(error, false);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -8,7 +8,6 @@ using MediaBrowser.Model.Cryptography;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.Net;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.Model.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SocketHttpListener.Net
|
||||
@@ -30,19 +29,19 @@ namespace SocketHttpListener.Net
|
||||
private bool _enableDualMode;
|
||||
private readonly ICryptoProvider _cryptoProvider;
|
||||
private readonly ISocketFactory _socketFactory;
|
||||
private readonly ITextEncoding _textEncoding;
|
||||
private readonly IStreamHelper _streamHelper;
|
||||
private readonly IFileSystem _fileSystem;
|
||||
private readonly IEnvironmentInfo _environment;
|
||||
|
||||
public HttpEndPointListener(HttpListener listener, IPAddress addr, int port, bool secure, X509Certificate cert, ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, IStreamHelper streamHelper, ITextEncoding textEncoding, IFileSystem fileSystem, IEnvironmentInfo environment)
|
||||
public HttpEndPointListener(HttpListener listener, IPAddress addr, int port, bool secure, X509Certificate cert,
|
||||
ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, IStreamHelper streamHelper,
|
||||
IFileSystem fileSystem, IEnvironmentInfo environment)
|
||||
{
|
||||
this._listener = listener;
|
||||
_logger = logger;
|
||||
_cryptoProvider = cryptoProvider;
|
||||
_socketFactory = socketFactory;
|
||||
_streamHelper = streamHelper;
|
||||
_textEncoding = textEncoding;
|
||||
_fileSystem = fileSystem;
|
||||
_environment = environment;
|
||||
|
||||
@@ -214,7 +213,7 @@ namespace SocketHttpListener.Net
|
||||
var localEndPointString = accepted.LocalEndPoint == null ? string.Empty : accepted.LocalEndPoint.ToString();
|
||||
//_logger.LogInformation("HttpEndPointListener Accepting connection from {0} to {1} secure connection requested: {2}", remoteEndPointString, localEndPointString, _secure);
|
||||
|
||||
var conn = new HttpConnection(epl._logger, accepted, epl, epl._secure, epl._cert, epl._cryptoProvider, epl._streamHelper, epl._textEncoding, epl._fileSystem, epl._environment);
|
||||
var conn = new HttpConnection(epl._logger, accepted, epl, epl._secure, epl._cert, epl._cryptoProvider, epl._streamHelper, epl._fileSystem, epl._environment);
|
||||
|
||||
await conn.Init().ConfigureAwait(false);
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ namespace SocketHttpListener.Net
|
||||
{
|
||||
try
|
||||
{
|
||||
epl = new HttpEndPointListener(listener, addr, port, secure, listener.Certificate, logger, listener.CryptoProvider, listener.SocketFactory, listener.StreamHelper, listener.TextEncoding, listener.FileSystem, listener.EnvironmentInfo);
|
||||
epl = new HttpEndPointListener(listener, addr, port, secure, listener.Certificate, logger, listener.CryptoProvider, listener.SocketFactory, listener.StreamHelper, listener.FileSystem, listener.EnvironmentInfo);
|
||||
}
|
||||
catch (SocketException ex)
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@ using MediaBrowser.Model.Cryptography;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.Net;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.Model.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SocketHttpListener.Net
|
||||
@@ -18,7 +17,6 @@ namespace SocketHttpListener.Net
|
||||
internal ICryptoProvider CryptoProvider { get; private set; }
|
||||
internal ISocketFactory SocketFactory { get; private set; }
|
||||
internal IFileSystem FileSystem { get; private set; }
|
||||
internal ITextEncoding TextEncoding { get; private set; }
|
||||
internal IStreamHelper StreamHelper { get; private set; }
|
||||
internal INetworkManager NetworkManager { get; private set; }
|
||||
internal IEnvironmentInfo EnvironmentInfo { get; private set; }
|
||||
@@ -40,13 +38,14 @@ namespace SocketHttpListener.Net
|
||||
|
||||
public Action<HttpListenerContext> OnContext { get; set; }
|
||||
|
||||
public HttpListener(ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, INetworkManager networkManager, ITextEncoding textEncoding, IStreamHelper streamHelper, IFileSystem fileSystem, IEnvironmentInfo environmentInfo)
|
||||
public HttpListener(ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory,
|
||||
INetworkManager networkManager, IStreamHelper streamHelper, IFileSystem fileSystem,
|
||||
IEnvironmentInfo environmentInfo)
|
||||
{
|
||||
_logger = logger;
|
||||
CryptoProvider = cryptoProvider;
|
||||
SocketFactory = socketFactory;
|
||||
NetworkManager = networkManager;
|
||||
TextEncoding = textEncoding;
|
||||
StreamHelper = streamHelper;
|
||||
FileSystem = fileSystem;
|
||||
EnvironmentInfo = environmentInfo;
|
||||
@@ -56,8 +55,10 @@ namespace SocketHttpListener.Net
|
||||
auth_schemes = AuthenticationSchemes.Anonymous;
|
||||
}
|
||||
|
||||
public HttpListener(ILogger logger, X509Certificate certificate, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, INetworkManager networkManager, ITextEncoding textEncoding, IStreamHelper streamHelper, IFileSystem fileSystem, IEnvironmentInfo environmentInfo)
|
||||
: this(logger, cryptoProvider, socketFactory, networkManager, textEncoding, streamHelper, fileSystem, environmentInfo)
|
||||
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)
|
||||
{
|
||||
_certificate = certificate;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Security.Principal;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Model.Text;
|
||||
using SocketHttpListener.Net.WebSockets;
|
||||
|
||||
namespace SocketHttpListener.Net
|
||||
@@ -12,10 +11,10 @@ namespace SocketHttpListener.Net
|
||||
{
|
||||
private HttpConnection _connection;
|
||||
|
||||
internal HttpListenerContext(HttpConnection connection, ITextEncoding textEncoding)
|
||||
internal HttpListenerContext(HttpConnection connection)
|
||||
{
|
||||
_connection = connection;
|
||||
_response = new HttpListenerResponse(this, textEncoding);
|
||||
_response = new HttpListenerResponse(this);
|
||||
Request = new HttpListenerRequest(this);
|
||||
ErrorStatus = 400;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ using System.Net;
|
||||
using System.Text;
|
||||
using MediaBrowser.Model.Services;
|
||||
using SocketHttpListener.Net.WebSockets;
|
||||
using SocketHttpListener.Primitives;
|
||||
|
||||
namespace SocketHttpListener.Net
|
||||
{
|
||||
@@ -82,7 +81,7 @@ namespace SocketHttpListener.Net
|
||||
}
|
||||
}
|
||||
}
|
||||
return TextEncodingExtensions.GetDefaultEncoding();
|
||||
return Encoding.UTF8;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
@@ -6,8 +6,6 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.Text;
|
||||
using SocketHttpListener.Primitives;
|
||||
|
||||
namespace SocketHttpListener.Net
|
||||
{
|
||||
@@ -18,12 +16,10 @@ namespace SocketHttpListener.Net
|
||||
private int _statusCode = 200;
|
||||
internal object _headersLock = new object();
|
||||
private bool _forceCloseChunked;
|
||||
private ITextEncoding _textEncoding;
|
||||
|
||||
internal HttpListenerResponse(HttpListenerContext context, ITextEncoding textEncoding)
|
||||
internal HttpListenerResponse(HttpListenerContext context)
|
||||
{
|
||||
_httpContext = context;
|
||||
_textEncoding = textEncoding;
|
||||
}
|
||||
|
||||
internal bool ForceCloseChunked => _forceCloseChunked;
|
||||
@@ -263,7 +259,7 @@ namespace SocketHttpListener.Net
|
||||
ComputeCookies();
|
||||
}
|
||||
|
||||
var encoding = _textEncoding.GetDefaultEncoding();
|
||||
var encoding = Encoding.UTF8;
|
||||
var writer = new StreamWriter(ms, encoding, 256);
|
||||
writer.Write("HTTP/1.1 {0} ", _statusCode); // "1.1" matches Windows implementation, which ignores the response version
|
||||
writer.Flush();
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
using System.Text;
|
||||
using MediaBrowser.Model.Text;
|
||||
|
||||
namespace SocketHttpListener.Primitives
|
||||
{
|
||||
public static class TextEncodingExtensions
|
||||
{
|
||||
public static Encoding GetDefaultEncoding(this ITextEncoding encoding)
|
||||
{
|
||||
return Encoding.UTF8;
|
||||
}
|
||||
|
||||
public static Encoding GetDefaultEncoding()
|
||||
{
|
||||
return Encoding.UTF8;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user