internal WebSocketHandshakeResponse(IHttpContext context) { ProtocolVersion = HttpVersion.Version11; Headers = context.Response.Headers; Headers.Clear(); // Use only headers mentioned in RFC6455 - scrap all the rest. StatusCode = HandshakeStatusCode; Reason = HttpListenerResponseHelper.GetStatusDescription(HandshakeStatusCode); Headers[HttpHeaderNames.Upgrade] = "websocket"; Headers[HttpHeaderNames.Connection] = "Upgrade"; foreach (var cookie in context.Request.Cookies) { Headers.Add("Set-Cookie", cookie.ToString()); } }
internal HttpResponse(HttpStatusCode code) : this((int)code, HttpListenerResponseHelper.GetStatusDescription((int)code), HttpVersion.Version11, new NameValueCollection()) { }