public WebSocket(StreamSocket socket, HttpServerRequest httpServerRequest, Camera camera) { _inputStream = socket.InputStream; _outputStream = socket.OutputStream; _httpServerRequest = httpServerRequest; _camera = camera; }
private async Task WriteResponse(HttpServerRequest request, StreamSocket socket) { var relativeUrlLower = request.Url.ToLowerInvariant(); var outputStream = socket.OutputStream; ////Get javascript files if (relativeUrlLower.StartsWith("/javascript")) { await HttpServerResponse.WriteResponseFile(ToFolderPath(request.Url), HttpContentType.JavaScript, outputStream); } ////Get css style files else if (relativeUrlLower.StartsWith("/styles")) { await HttpServerResponse.WriteResponseFile(ToFolderPath(request.Url), HttpContentType.Css, outputStream); } //Get current camera frame else if (relativeUrlLower.StartsWith("/videoframe")) { if (_camera.Frame != null) { var webSocket = new WebSocket(socket, request, _camera); await webSocket.Start(); } else { HttpServerResponse.WriteResponseError("Not camera fram available. Maybe there is an error or camera is not started.", outputStream); } } //Get index.html page else { await HttpServerResponse.WriteResponseFile(@"\Html\Index.html", HttpContentType.Html, outputStream); } }