diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-10-27 23:17:31 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-27 23:17:31 -0400 |
| commit | 57f83a2744fb5ebdf5774d51d2125ea46f4ce8ab (patch) | |
| tree | f0a8c9137d24160fe8e2955bff7010163f2d4066 /MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs | |
| parent | 8fcc7a0385b9db202c1f93ee897eb5a11d2759da (diff) | |
| parent | f6acc5fbff081728138564867a58b7848c92c467 (diff) | |
Merge pull request #2256 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs index 59e0b2a9b..2546519f4 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs @@ -1,15 +1,21 @@ using System; using System.Collections.Generic; +using System.Collections.Specialized; using System.IO; using System.Text; using Funq; using MediaBrowser.Common.IO; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Services; using ServiceStack; using ServiceStack.Host; using ServiceStack.Web; using SocketHttpListener.Net; +using IHttpFile = MediaBrowser.Model.Services.IHttpFile; +using IHttpRequest = MediaBrowser.Model.Services.IHttpRequest; +using IHttpResponse = MediaBrowser.Model.Services.IHttpResponse; +using IResponse = MediaBrowser.Model.Services.IResponse; namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp { @@ -27,8 +33,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp _memoryStreamProvider = memoryStreamProvider; this.request = httpContext.Request; this.response = new WebSocketSharpResponse(logger, httpContext.Response, this); - - this.RequestPreferences = new RequestPreferences(this); } public HttpListenerRequest HttpRequest @@ -53,8 +57,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp public RequestAttributes RequestAttributes { get; set; } - public IRequestPreferences RequestPreferences { get; private set; } - public T TryResolve<T>() { if (typeof(T) == typeof(IHttpRequest)) @@ -324,22 +326,34 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp get { return request.UserAgent; } } - private NameValueCollectionWrapper headers; - public INameValueCollection Headers + private QueryParamCollection headers; + public QueryParamCollection Headers + { + get { return headers ?? (headers = ToQueryParams(request.Headers)); } + } + + private QueryParamCollection queryString; + public QueryParamCollection QueryString { - get { return headers ?? (headers = new NameValueCollectionWrapper(request.Headers)); } + get { return queryString ?? (queryString = MyHttpUtility.ParseQueryString(request.Url.Query)); } } - private NameValueCollectionWrapper queryString; - public INameValueCollection QueryString + private QueryParamCollection formData; + public QueryParamCollection FormData { - get { return queryString ?? (queryString = new NameValueCollectionWrapper(MyHttpUtility.ParseQueryString(request.Url.Query))); } + get { return formData ?? (formData = this.Form); } } - private NameValueCollectionWrapper formData; - public INameValueCollection FormData + private QueryParamCollection ToQueryParams(NameValueCollection collection) { - get { return formData ?? (formData = new NameValueCollectionWrapper(this.Form)); } + var result = new QueryParamCollection(); + + foreach (var key in collection.AllKeys) + { + result[key] = collection[key]; + } + + return result; } public bool IsLocal |
