diff options
Diffstat (limited to 'SocketHttpListener.Portable/HttpResponse.cs')
| -rw-r--r-- | SocketHttpListener.Portable/HttpResponse.cs | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/SocketHttpListener.Portable/HttpResponse.cs b/SocketHttpListener.Portable/HttpResponse.cs deleted file mode 100644 index 5aca28c7c..000000000 --- a/SocketHttpListener.Portable/HttpResponse.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System; -using System.Collections.Specialized; -using System.IO; -using System.Net; -using System.Text; -using HttpStatusCode = SocketHttpListener.Net.HttpStatusCode; -using HttpVersion = SocketHttpListener.Net.HttpVersion; -using System.Linq; -using MediaBrowser.Model.Services; - -namespace SocketHttpListener -{ - internal class HttpResponse : HttpBase - { - #region Private Fields - - private string _code; - private string _reason; - - #endregion - - #region Private Constructors - - private HttpResponse(string code, string reason, Version version, QueryParamCollection headers) - : base(version, headers) - { - _code = code; - _reason = reason; - } - - #endregion - - #region Internal Constructors - - internal HttpResponse(HttpStatusCode code) - : this(code, code.GetDescription()) - { - } - - internal HttpResponse(HttpStatusCode code, string reason) - : this(((int)code).ToString(), reason, HttpVersion.Version11, new QueryParamCollection()) - { - Headers["Server"] = "websocket-sharp/1.0"; - } - - #endregion - - #region Public Properties - - public CookieCollection Cookies - { - get - { - return Headers.GetCookies(true); - } - } - - public bool IsProxyAuthenticationRequired - { - get - { - return _code == "407"; - } - } - - public bool IsUnauthorized - { - get - { - return _code == "401"; - } - } - - public bool IsWebSocketResponse - { - get - { - var headers = Headers; - return ProtocolVersion > HttpVersion.Version10 && - _code == "101" && - headers.Contains("Upgrade", "websocket") && - headers.Contains("Connection", "Upgrade"); - } - } - - public string Reason - { - get - { - return _reason; - } - } - - public string StatusCode - { - get - { - return _code; - } - } - - #endregion - - #region Internal Methods - - internal static HttpResponse CreateCloseResponse(HttpStatusCode code) - { - var res = new HttpResponse(code); - res.Headers["Connection"] = "close"; - - return res; - } - - internal static HttpResponse CreateWebSocketResponse() - { - var res = new HttpResponse(HttpStatusCode.SwitchingProtocols); - - var headers = res.Headers; - headers["Upgrade"] = "websocket"; - headers["Connection"] = "Upgrade"; - - return res; - } - - #endregion - - #region Public Methods - - public void SetCookies(CookieCollection cookies) - { - if (cookies == null || cookies.Count == 0) - return; - - var headers = Headers; - var sorted = cookies.OfType<Cookie>().OrderBy(i => i.Name).ToList(); - - foreach (var cookie in sorted) - headers.Add("Set-Cookie", cookie.ToString()); - } - - public override string ToString() - { - var output = new StringBuilder(64); - output.AppendFormat("HTTP/{0} {1} {2}{3}", ProtocolVersion, _code, _reason, CrLf); - - var headers = Headers; - foreach (var key in headers.Keys) - output.AppendFormat("{0}: {1}{2}", key, headers[key], CrLf); - - output.Append(CrLf); - - var entity = EntityBody; - if (entity.Length > 0) - output.Append(entity); - - return output.ToString(); - } - - #endregion - } -}
\ No newline at end of file |
