protected override IEnumerable <Envelope> CreateNewItemsFromContext(HttpListenerContext context) { try { var request = context.Request; var content = request.GetContent(); if (!string.IsNullOrWhiteSpace(request.Headers["Content-Encoding"]) && string.Equals("gzip", request.Headers["Content-Encoding"], StringComparison.InvariantCultureIgnoreCase)) { content = Decompress(content); } Trace.WriteLine("=>"); Trace.WriteLine("Item received: " + content); Trace.WriteLine("<="); return(TelemetryItemFactory.GetTelemetryItems(content)); } finally { context.Response.Close(); } }
private IEnumerable <MonitoringDataPoint> CreateSampleFromContext(HttpListenerContext context) { try { var request = context.Request; var response = context.Response; var content = request.GetContent(); var requestData = new MemoryStream(Encoding.UTF8.GetBytes(content ?? string.Empty)); Trace.WriteLine("=>"); Trace.WriteLine("Item received: " + content); Trace.WriteLine("<="); if (request.Url.LocalPath == "/QuickPulseService.svc/ping") { response.AddHeader("x-ms-qps-subscribed", true.ToString()); } else if (request.Url.LocalPath == "/QuickPulseService.svc/post") { return(TelemetryItemFactory.CreateQuickPulseSamples(requestData)); } return(new MonitoringDataPoint[0]); } finally { context.Response.Close(); } }
private IEnumerable <MonitoringDataPoint> CreateSampleFromContext(HttpListenerContext context) { try { var request = context.Request; var content = request.GetContent(); var requestData = new MemoryStream(Encoding.UTF8.GetBytes(content ?? string.Empty)); string requestLocalPath = request.Url.LocalPath; Trace.WriteLine("=>"); Trace.WriteLine("Item received: " + content); Trace.WriteLine("<="); var response = context.Response; if (requestLocalPath == "/QuickPulseService.svc/ping") { response.AddHeader("x-ms-qps-subscribed", true.ToString()); response.AddHeader("x-ms-qps-configuration-etag", "Etag1"); this.WriteCollectionConfiguration(response.OutputStream); } else if (requestLocalPath == "/QuickPulseService.svc/post") { var dataPoints = TelemetryItemFactory.CreateQuickPulseSamples(requestData); response.AddHeader("x-ms-qps-subscribed", true.ToString()); response.AddHeader("x-ms-qps-configuration-etag", "Etag1"); this.WriteCollectionConfiguration(response.OutputStream); return(dataPoints); } } catch (HttpListenerException) { // client disconnected } finally { try { context.Response.Close(); } catch (HttpListenerException) { // client disconnected } } return(new MonitoringDataPoint[0]); }
protected override IEnumerable <Envelope> CreateNewItemsFromContext(HttpListenerContext context) { try { var request = context.Request; var content = request.GetContent(); if (!string.IsNullOrWhiteSpace(request.Headers["Content-Encoding"]) && string.Equals("gzip", request.Headers["Content-Encoding"], StringComparison.InvariantCultureIgnoreCase)) { content = Decompress(content); } Trace.WriteLine("=>"); Trace.WriteLine("Item received: " + content); Trace.WriteLine("<="); // Validating each package takes too much time, check only first one that have dependency data if (this.validatedPackages == 0 && (content.Contains("Request") || content.Contains("Exception"))) { try { this.ValidateItems(content); ++this.validatedPackages; } catch (TaskCanceledException) { } } return(TelemetryItemFactory.GetTelemetryItems(content)); } finally { context.Response.Close(); } }