diff --git a/websocket-sharp/Net/HttpStatusCode.cs b/websocket-sharp/Net/HttpStatusCode.cs
index 6394aee5..39a12f16 100644
--- a/websocket-sharp/Net/HttpStatusCode.cs
+++ b/websocket-sharp/Net/HttpStatusCode.cs
@@ -1,363 +1,359 @@
-//
-// HttpStatusCode.cs
-// Copied from System.Net.HttpStatusCode.cs
-//
-// This code was automatically generated from
-// ECMA CLI XML Library Specification.
-// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
-// Created: Wed, 5 Sep 2001 06:32:05 UTC
-// Source file: AllTypes.xml
-// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
-//
-// Copyright (C) 2001 Ximian, Inc. (http://www.ximian.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
+#region License
+/*
+ * HttpStatusCode.cs
+ *
+ * This code is derived from System.Net.HttpStatusCode.cs of Mono
+ * (http://www.mono-project.com).
+ *
+ * This code was automatically generated from ECMA CLI XML Library Specification.
+ * Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
+ * Created: Wed, 5 Sep 2001 06:32:05 UTC
+ * Source file: AllTypes.xml
+ * URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
+ *
+ * The MIT License
+ *
+ * Copyright (c) 2001 Ximian, Inc. (http://www.ximian.com)
+ * Copyright (c) 2012-2014 sta.blockhead
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#endregion
-namespace WebSocketSharp.Net {
-
- ///
- /// Contains the values of the HTTP status codes.
- ///
- ///
- /// The HttpStatusCode enumeration contains the values of the HTTP status codes defined in
- /// RFC 2616 for HTTP 1.1.
- ///
- public enum HttpStatusCode {
-
- ///
- /// Equivalent to status code 100. Indicates that the client should continue with its request.
- ///
- Continue = 100,
-
- ///
- /// Equivalent to status code 101. Indicates that the server is switching the HTTP version or protocol on the connection.
- ///
- SwitchingProtocols = 101,
-
- ///
- /// Equivalent to status code 200. Indicates that the client's request has succeeded.
- ///
- OK = 200,
-
- ///
- /// Equivalent to status code 201. Indicates that the client's request has been fulfilled
- /// and resulted in a new resource being created.
- ///
- Created = 201,
-
- ///
- /// Equivalent to status code 202. Indicates that the client's request has been accepted for processing,
- /// but the processing has not been completed.
- ///
- Accepted = 202,
-
- ///
- /// Equivalent to status code 203. Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server.
- ///
- NonAuthoritativeInformation = 203,
-
- ///
- /// Equivalent to status code 204. Indicates that the server has fulfilled the client's request
- /// but does not need to return an entity-body.
- ///
- NoContent = 204,
-
- ///
- /// Equivalent to status code 205. Indicates that the server has fulfilled the client's request
- /// and the user agent should reset the document view which caused the request to be sent.
- ///
- ResetContent = 205,
-
- ///
- /// Equivalent to status code 206. Indicates that the server has fulfilled the partial GET request for the resource.
- ///
- PartialContent = 206,
-
- ///
- ///
- /// Equivalent to status code 300. Indicates that the requested resource corresponds to
- /// any one of multiple representations.
- ///
- ///
- /// MultipleChoices is a synonym for Ambiguous.
- ///
- ///
- MultipleChoices = 300,
-
- ///
- ///
- /// Equivalent to status code 300. Indicates that the requested resource corresponds to
- /// any one of multiple representations.
- ///
- ///
- /// Ambiguous is a synonym for MultipleChoices.
- ///
- ///
- Ambiguous = 300,
-
- ///
- ///
- /// Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI
- /// and any future references to this resource should use one of the returned URIs.
- ///
- ///
- /// MovedPermanently is a synonym for Moved.
- ///
- ///
- MovedPermanently = 301,
-
- ///
- ///
- /// Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI
- /// and any future references to this resource should use one of the returned URIs.
- ///
- ///
- /// Moved is a synonym for MovedPermanently.
- ///
- ///
- Moved = 301,
-
- ///
- ///
- /// Equivalent to status code 302. Indicates that the requested resource is located temporarily
- /// under a different URI.
- ///
- ///
- /// Found is a synonym for Redirect.
- ///
- ///
- Found = 302,
-
- ///
- ///
- /// Equivalent to status code 302. Indicates that the requested resource is located temporarily
- /// under a different URI.
- ///
- ///
- /// Redirect is a synonym for Found.
- ///
- ///
- Redirect = 302,
-
- ///
- ///
- /// Equivalent to status code 303. Indicates that the response to the request can be found
- /// under a different URI and should be retrieved using a GET method on that resource.
- ///
- ///
- /// SeeOther is a synonym for RedirectMethod.
- ///
- ///
- SeeOther = 303,
-
- ///
- ///
- /// Equivalent to status code 303. Indicates that the response to the request can be found
- /// under a different URI and should be retrieved using a GET method on that resource.
- ///
- ///
- /// RedirectMethod is a synonym for SeeOther.
- ///
- ///
- RedirectMethod = 303,
-
- ///
- /// Equivalent to status code 304. Indicates that the client has performed a conditional GET request
- /// and access is allowed, but the document has not been modified.
- ///
- NotModified = 304,
-
- ///
- /// Equivalent to status code 305. Indicates that the requested resource must be accessed
- /// through the proxy given by the Location field.
- ///
- UseProxy = 305,
-
- ///
- /// Equivalent to status code 306. This code was used in a previous version of the specification,
- /// is no longer used, and is reserved for future use.
- ///
- Unused = 306,
-
- ///
- ///
- /// Equivalent to status code 307. Indicates that the requested resource is located temporarily
- /// under a different URI.
- ///
- ///
- /// TemporaryRedirect is a synonym for RedirectKeepVerb.
- ///
- ///
- TemporaryRedirect = 307,
-
- ///
- ///
- /// Equivalent to status code 307. Indicates that the requested resource is located temporarily
- /// under a different URI.
- ///
- ///
- /// RedirectKeepVerb is a synonym for TemporaryRedirect.
- ///
- ///
- RedirectKeepVerb = 307,
-
- ///
- /// Equivalent to status code 400. Indicates that the client's request could not be understood
- /// by the server due to malformed syntax.
- ///
- BadRequest = 400,
-
- ///
- /// Equivalent to status code 401. Indicates that the client's request requires user authentication.
- ///
- Unauthorized = 401,
-
- ///
- /// Equivalent to status code 402. This code is reserved for future use.
- ///
- PaymentRequired = 402,
-
- ///
- /// Equivalent to status code 403. Indicates that the server understood the client's request
- /// but is refusing to fulfill it.
- ///
- Forbidden = 403,
-
- ///
- /// Equivalent to status code 404. Indicates that the server has not found anything
- /// matching the request URI.
- ///
- NotFound = 404,
-
- ///
- /// Equivalent to status code 405. Indicates that the method specified in the request line
- /// is not allowed for the resource identified by the request URI.
- ///
- MethodNotAllowed = 405,
-
- ///
- /// Equivalent to status code 406. Indicates that the server does not have the appropriate resource
- /// to respond to the accept headers in the client's request.
- ///
- NotAcceptable = 406,
-
- ///
- /// Equivalent to status code 407. Indicates that the client must first authenticate itself with the proxy.
- ///
- ProxyAuthenticationRequired = 407,
-
- ///
- /// Equivalent to status code 408. Indicates that the client did not produce a request
- /// within the time that the server was prepared to wait.
- ///
- RequestTimeout = 408,
-
- ///
- /// Equivalent to status code 409. Indicates that the client's request could not be completed
- /// due to a conflict on the server.
- ///
- Conflict = 409,
-
- ///
- /// Equivalent to status code 410. Indicates that the requested resource is no longer available
- /// at the server and no forwarding address is known.
- ///
- Gone = 410,
-
- ///
- /// Equivalent to status code 411. Indicates that the server refuses to accept the client's request
- /// without a defined Content-Length.
- ///
- LengthRequired = 411,
-
- ///
- /// Equivalent to status code 412. Indicates that the precondition given in one or more of the request header fields
- /// evaluated to false when it was tested on the server.
- ///
- PreconditionFailed = 412,
-
- ///
- /// Equivalent to status code 413. Indicates that the client's request entity is larger
- /// than the server is willing or able to process.
- ///
- RequestEntityTooLarge = 413,
-
- ///
- /// Equivalent to status code 414. Indicates that the request URI is longer
- /// than the server is willing to interpret.
- ///
- RequestUriTooLong = 414,
-
- ///
- /// Equivalent to status code 415. Indicates that the entity of the client's request is in a format
- /// not supported by the requested resource for the requested method.
- ///
- UnsupportedMediaType = 415,
-
- ///
- /// Equivalent to status code 416. Indicates that none of the range specifier values in a Range request header field
- /// overlap the current extent of the selected resource.
- ///
- RequestedRangeNotSatisfiable = 416,
-
- ///
- /// Equivalent to status code 417. Indicates that the expectation given in an Expect request header field
- /// could not be met by the server.
- ///
- ExpectationFailed = 417,
-
- ///
- /// Equivalent to status code 500. Indicates that the server encountered an unexpected condition
- /// which prevented it from fulfilling the client's request.
- ///
- InternalServerError = 500,
-
- ///
- /// Equivalent to status code 501. Indicates that the server does not support the functionality
- /// required to fulfill the client's request.
- ///
- NotImplemented = 501,
-
- ///
- /// Equivalent to status code 502. Indicates that a gateway or proxy server received an invalid response
- /// from the upstream server.
- ///
- BadGateway = 502,
-
- ///
- /// Equivalent to status code 503. Indicates that the server is currently unable to handle the client's request
- /// due to a temporary overloading or maintenance of the server.
- ///
- ServiceUnavailable = 503,
-
- ///
- /// Equivalent to status code 504. Indicates that a gateway or proxy server did not receive a timely response
- /// from the upstream server or some other auxiliary server.
- ///
- GatewayTimeout = 504,
-
- ///
- /// Equivalent to status code 505. Indicates that the server does not support the HTTP version
- /// used in the client's request.
- ///
- HttpVersionNotSupported = 505,
- }
+namespace WebSocketSharp.Net
+{
+ ///
+ /// Contains the values of the HTTP status codes.
+ ///
+ ///
+ /// The HttpStatusCode enumeration contains the values of the HTTP status codes defined in
+ /// RFC 2616 for HTTP 1.1.
+ ///
+ public enum HttpStatusCode
+ {
+ ///
+ /// Equivalent to status code 100.
+ /// Indicates that the client should continue with its request.
+ ///
+ Continue = 100,
+ ///
+ /// Equivalent to status code 101.
+ /// Indicates that the server is switching the HTTP version or protocol on the connection.
+ ///
+ SwitchingProtocols = 101,
+ ///
+ /// Equivalent to status code 200.
+ /// Indicates that the client's request has succeeded.
+ ///
+ OK = 200,
+ ///
+ /// Equivalent to status code 201.
+ /// Indicates that the client's request has been fulfilled and resulted in a new resource being
+ /// created.
+ ///
+ Created = 201,
+ ///
+ /// Equivalent to status code 202.
+ /// Indicates that the client's request has been accepted for processing, but the processing
+ /// hasn't been completed.
+ ///
+ Accepted = 202,
+ ///
+ /// Equivalent to status code 203.
+ /// Indicates that the returned metainformation is from a local or a third-party copy instead of
+ /// the origin server.
+ ///
+ NonAuthoritativeInformation = 203,
+ ///
+ /// Equivalent to status code 204.
+ /// Indicates that the server has fulfilled the client's request but doesn't need to return
+ /// an entity-body.
+ ///
+ NoContent = 204,
+ ///
+ /// Equivalent to status code 205.
+ /// Indicates that the server has fulfilled the client's request, and the user agent should
+ /// reset the document view which caused the request to be sent.
+ ///
+ ResetContent = 205,
+ ///
+ /// Equivalent to status code 206.
+ /// Indicates that the server has fulfilled the partial GET request for the resource.
+ ///
+ PartialContent = 206,
+ ///
+ ///
+ /// Equivalent to status code 300.
+ /// Indicates that the requested resource corresponds to any of multiple representations.
+ ///
+ ///
+ /// MultipleChoices is a synonym for Ambiguous.
+ ///
+ ///
+ MultipleChoices = 300,
+ ///
+ ///
+ /// Equivalent to status code 300.
+ /// Indicates that the requested resource corresponds to any of multiple representations.
+ ///
+ ///
+ /// Ambiguous is a synonym for MultipleChoices.
+ ///
+ ///
+ Ambiguous = 300,
+ ///
+ ///
+ /// Equivalent to status code 301.
+ /// Indicates that the requested resource has been assigned a new permanent URI and
+ /// any future references to this resource should use one of the returned URIs.
+ ///
+ ///
+ /// MovedPermanently is a synonym for Moved.
+ ///
+ ///
+ MovedPermanently = 301,
+ ///
+ ///
+ /// Equivalent to status code 301.
+ /// Indicates that the requested resource has been assigned a new permanent URI and
+ /// any future references to this resource should use one of the returned URIs.
+ ///
+ ///
+ /// Moved is a synonym for MovedPermanently.
+ ///
+ ///
+ Moved = 301,
+ ///
+ ///
+ /// Equivalent to status code 302.
+ /// Indicates that the requested resource is located temporarily under a different URI.
+ ///
+ ///
+ /// Found is a synonym for Redirect.
+ ///
+ ///
+ Found = 302,
+ ///
+ ///
+ /// Equivalent to status code 302.
+ /// Indicates that the requested resource is located temporarily under a different URI.
+ ///
+ ///
+ /// Redirect is a synonym for Found.
+ ///
+ ///
+ Redirect = 302,
+ ///
+ ///
+ /// Equivalent to status code 303.
+ /// Indicates that the response to the request can be found under a different URI and
+ /// should be retrieved using a GET method on that resource.
+ ///
+ ///
+ /// SeeOther is a synonym for RedirectMethod.
+ ///
+ ///
+ SeeOther = 303,
+ ///
+ ///
+ /// Equivalent to status code 303.
+ /// Indicates that the response to the request can be found under a different URI and
+ /// should be retrieved using a GET method on that resource.
+ ///
+ ///
+ /// RedirectMethod is a synonym for SeeOther.
+ ///
+ ///
+ RedirectMethod = 303,
+ ///
+ /// Equivalent to status code 304.
+ /// Indicates that the client has performed a conditional GET request and access is allowed,
+ /// but the document hasn't been modified.
+ ///
+ NotModified = 304,
+ ///
+ /// Equivalent to status code 305.
+ /// Indicates that the requested resource must be accessed through the proxy given by
+ /// the Location field.
+ ///
+ UseProxy = 305,
+ ///
+ /// Equivalent to status code 306.
+ /// This status code was used in a previous version of the specification, is no longer used,
+ /// and is reserved for future use.
+ ///
+ Unused = 306,
+ ///
+ ///
+ /// Equivalent to status code 307.
+ /// Indicates that the requested resource is located temporarily under a different URI.
+ ///
+ ///
+ /// TemporaryRedirect is a synonym for RedirectKeepVerb.
+ ///
+ ///
+ TemporaryRedirect = 307,
+ ///
+ ///
+ /// Equivalent to status code 307.
+ /// Indicates that the requested resource is located temporarily under a different URI.
+ ///
+ ///
+ /// RedirectKeepVerb is a synonym for TemporaryRedirect.
+ ///
+ ///
+ RedirectKeepVerb = 307,
+ ///
+ /// Equivalent to status code 400.
+ /// Indicates that the client's request couldn't be understood by the server due to
+ /// malformed syntax.
+ ///
+ BadRequest = 400,
+ ///
+ /// Equivalent to status code 401.
+ /// Indicates that the client's request requires user authentication.
+ ///
+ Unauthorized = 401,
+ ///
+ /// Equivalent to status code 402.
+ /// This status code is reserved for future use.
+ ///
+ PaymentRequired = 402,
+ ///
+ /// Equivalent to status code 403.
+ /// Indicates that the server understood the client's request but is refusing to fulfill it.
+ ///
+ Forbidden = 403,
+ ///
+ /// Equivalent to status code 404.
+ /// Indicates that the server hasn't found anything matching the request URI.
+ ///
+ NotFound = 404,
+ ///
+ /// Equivalent to status code 405.
+ /// Indicates that the method specified in the request line isn't allowed for the resource
+ /// identified by the request URI.
+ ///
+ MethodNotAllowed = 405,
+ ///
+ /// Equivalent to status code 406.
+ /// Indicates that the server doesn't have the appropriate resource to respond to the accept
+ /// headers in the client's request.
+ ///
+ NotAcceptable = 406,
+ ///
+ /// Equivalent to status code 407.
+ /// Indicates that the client must first authenticate itself with the proxy.
+ ///
+ ProxyAuthenticationRequired = 407,
+ ///
+ /// Equivalent to status code 408.
+ /// Indicates that the client didn't produce a request within the time that the server was
+ /// prepared to wait.
+ ///
+ RequestTimeout = 408,
+ ///
+ /// Equivalent to status code 409.
+ /// Indicates that the client's request couldn't be completed due to a conflict on the server.
+ ///
+ Conflict = 409,
+ ///
+ /// Equivalent to status code 410.
+ /// Indicates that the requested resource is no longer available at the server and
+ /// no forwarding address is known.
+ ///
+ Gone = 410,
+ ///
+ /// Equivalent to status code 411.
+ /// Indicates that the server refuses to accept the client's request without a defined
+ /// Content-Length.
+ ///
+ LengthRequired = 411,
+ ///
+ /// Equivalent to status code 412.
+ /// Indicates that the precondition given in one or more of the request header fields
+ /// evaluated to false when it was tested on the server.
+ ///
+ PreconditionFailed = 412,
+ ///
+ /// Equivalent to status code 413.
+ /// Indicates that the entity of the client's request is larger than the server is willing or
+ /// able to process.
+ ///
+ RequestEntityTooLarge = 413,
+ ///
+ /// Equivalent to status code 414.
+ /// Indicates that the request URI is longer than the server is willing to interpret.
+ ///
+ RequestUriTooLong = 414,
+ ///
+ /// Equivalent to status code 415.
+ /// Indicates that the entity of the client's request is in a format not supported by
+ /// the requested resource for the requested method.
+ ///
+ UnsupportedMediaType = 415,
+ ///
+ /// Equivalent to status code 416.
+ /// Indicates that none of the range specifier values in a Range request header field
+ /// overlap the current extent of the selected resource.
+ ///
+ RequestedRangeNotSatisfiable = 416,
+ ///
+ /// Equivalent to status code 417.
+ /// Indicates that the expectation given in an Expect request header field couldn't be met by
+ /// the server.
+ ///
+ ExpectationFailed = 417,
+ ///
+ /// Equivalent to status code 500.
+ /// Indicates that the server encountered an unexpected condition which prevented it from
+ /// fulfilling the client's request.
+ ///
+ InternalServerError = 500,
+ ///
+ /// Equivalent to status code 501.
+ /// Indicates that the server doesn't support the functionality required to fulfill the client's
+ /// request.
+ ///
+ NotImplemented = 501,
+ ///
+ /// Equivalent to status code 502.
+ /// Indicates that a gateway or proxy server received an invalid response from the upstream
+ /// server.
+ ///
+ BadGateway = 502,
+ ///
+ /// Equivalent to status code 503.
+ /// Indicates that the server is currently unable to handle the client's request due to
+ /// a temporary overloading or maintenance of the server.
+ ///
+ ServiceUnavailable = 503,
+ ///
+ /// Equivalent to status code 504.
+ /// Indicates that a gateway or proxy server didn't receive a timely response from the upstream
+ /// server or some other auxiliary server.
+ ///
+ GatewayTimeout = 504,
+ ///
+ /// Equivalent to status code 505.
+ /// Indicates that the server doesn't support the HTTP version used in the client's request.
+ ///
+ HttpVersionNotSupported = 505,
+ }
}