public async Task Invoke(HttpContext context) { if (_client.Configuration.ProcessQueueOnCompletedRequest) { context.Response.OnCompleted(async() => { await _client.ProcessQueueAsync(); }); } try { await _next(context); } catch (Exception ex) { if (context.RequestAborted.IsCancellationRequested) { throw; } var contextData = new ContextData(); contextData.MarkAsUnhandledError(); contextData.SetSubmissionMethod(nameof(ExceptionlessMiddleware)); ex.ToExceptionless(contextData, _client).SetHttpContext(context).Submit(); throw; } if (context.Response?.StatusCode == 404) { string path = context.Request.Path.HasValue ? context.Request.Path.Value : "/"; _client.CreateNotFound(path).SetHttpContext(context).Submit(); } }
public async Task Invoke(HttpContext context) { try { await _next(context); } catch (Exception ex) { var contextData = new ContextData(); contextData.MarkAsUnhandledError(); contextData.SetSubmissionMethod(nameof(OYWExceptionlessMiddleware)); if (!ex.GetType().IsSubclassOf(typeof(OYWException))) { ex.ToExceptionless(contextData, _client).SetHttpContext(context).Submit(); } context.Response.ContentType = "text/plain;charset=utf-8"; await context.Response.WriteAsync(ex.Message); } if (context.Response?.StatusCode == 404) { string path = context.Request.Path.HasValue ? context.Request.Path.Value : "/"; _client.CreateNotFound(path).SetHttpContext(context).Submit(); } }
public async Task Invoke(HttpContext context) { try { await _next(context); } catch (Exception ex) { var contextData = new ContextData(); contextData.MarkAsUnhandledError(); contextData.SetSubmissionMethod(nameof(ExceptionlessMiddleware)); ex.ToExceptionless(contextData, _client).SetHttpContext(context).Submit(); throw; } if (context.Response?.StatusCode == 404) { string path = context.Request.Path.HasValue ? context.Request.Path.Value : "/"; _client.CreateNotFound(path).SetHttpContext(context).Submit(); } }