internal static HttpResponse CreateWebSocketResponse() { var res = new HttpResponse(HttpStatusCode.SwitchingProtocols); var headers = res.Headers; headers["Upgrade"] = "websocket"; headers["Connection"] = "Upgrade"; return res; }
internal static HttpResponse CreateUnauthorizedResponse(string challenge) { var res = new HttpResponse(HttpStatusCode.Unauthorized); res.Headers["WWW-Authenticate"] = challenge; return res; }
// As server private bool sendHttpResponse(HttpResponse response) { return writeBytes(response.ToByteArray()); }
internal static HttpResponse CreateCloseResponse(HttpStatusCode code) { var res = new HttpResponse(code); res.Headers["Connection"] = "close"; return res; }
// As server internal void Close(HttpResponse response) { _readyState = WebSocketState.Closing; sendHttpResponse(response); closeServerResources(); _readyState = WebSocketState.Closed; }