private byte[] handleEvalContextRequest(HttpListener.Request request) { Console.WriteLine($"handling evalContext request({request.path})"); string serialized = new JsonSerializer <KmlCameraParameterValues>().Serialize(scKmlAdapter.KmlCameraValues); return(s2b(serialized)); }
private byte[] handleServerRequest(HttpListener.Request request) { foreach (Route route in routingTable) { if (route.IsSupported(request)) { //Console.WriteLine($"handling /*path*/({request.path})"); return(route.Handler(request)); } } return(s2b(KmlLiveCam.TemplateRendererFactory.rendererErrorHandler("request ignored", $"no route found for({request.path}"))); }
private byte[] handleResourceRequest(HttpListener.Request request) { string resourceName = request.path; string resourceFileName = $"Resources/{resourceName}"; Console.WriteLine($"reading resource({resourceFileName})"); try { return(File.ReadAllBytes(resourceFileName)); } catch (Exception ex) { return(s2b(KmlLiveCam.TemplateRendererFactory.rendererErrorHandler($"resource({resourceName}) not available", ex.Message))); } }
private byte[] handleLiveCamRequest(HttpListener.Request request) { (string alias, string lensName) = LiveCamPathToLensSpec(request.path); KmlLiveCam liveCam; if (liveCamRegistry.TryGetById(alias, out liveCam)) { // important: update the global server context (TODO - should be per session) scKmlAdapter.KmlCameraValues.query = request.query; scKmlAdapter.KmlCameraValues.alias = alias; scKmlAdapter.KmlCameraValues.lens = lensName; return(s2b(liveCam.GetLens(lensName).Render(scKmlAdapter.KmlCameraValues))); } return(s2b(KmlLiveCam.TemplateRendererFactory.rendererErrorHandler("request ignored", $"LiveCam({alias}) not found"))); }
private byte[] handleEvalTemplateRequest(HttpListener.Request request) { Console.WriteLine($"handling evalTemplate request({request.path})"); scKmlAdapter.KmlCameraValues.query = request.query; string template = Encoding.UTF8.GetString(request.GetBody()); string result; try { result = ( KmlLiveCam.TemplateRendererFactory.newTemplateRenderer <KmlCameraParameterValues>(template) .Render(scKmlAdapter.KmlCameraValues) ); } catch (Exception ex) { result = ( KmlLiveCam.TemplateRendererFactory.rendererErrorHandler( $"exception encountered while evaluating template", ex.Message ) ); } return(s2b(result)); }