private async Task WriteResponse(string relativeUrl, IOutputStream outputStream) { var relativeUrlLower = relativeUrl.ToLowerInvariant(); //Get javascript files if (relativeUrlLower.StartsWith("/javascript")) { await HttpServerResponse.WriteResponseFile(ToFolderPath(relativeUrl), HttpContentType.JavaScript, outputStream); } //Get css style files else if (relativeUrlLower.StartsWith("/styles")) { await HttpServerResponse.WriteResponseFile(ToFolderPath(relativeUrl), HttpContentType.Css, outputStream); } //Get current camera frame else if (relativeUrlLower.StartsWith("/videoframe")) { if (_camera.Frame != null) { HttpServerResponse.WriteResponseFile(_camera.Frame, HttpContentType.Jpeg, outputStream); } 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); } }
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 video setting else if (relativeUrlLower.StartsWith("/videosetting")) { HttpServerResponse.WriteResponseJson(ConfigurationFile.VideoSetting.Stringify(), outputStream); } //Get supported video settings else if (relativeUrlLower.StartsWith("/supportedvideosettings")) { HttpServerResponse.WriteResponseJson(ConfigurationFile.VideoSettingsSupported.Stringify(), outputStream); } //Set video settings else if (relativeUrlLower.StartsWith("/savevideosetting")) { await _camera.Stop(); var videoSetting = new VideoSetting { VideoSubtype = VideoSubtypeHelper.Get(request.Body["VideoSubtype"].GetString()), VideoResolution = (VideoResolution)request.Body["VideoResolution"].GetNumber(), VideoQuality = request.Body["VideoQuality"].GetNumber(), UsedThreads = (int)request.Body["UsedThreads"].GetNumber() }; await ConfigurationFile.Write(videoSetting); await _camera.Initialize(videoSetting); _camera.Start(); HttpServerResponse.WriteResponseOk(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); } }