public async Task Invoke(HttpContext httpContext) { var tran = CatExtensions.NewTransaction("CatMiddleware", "Middleware"); try { var request = httpContext.Request; var url = $"{request.Scheme}://{request.Host}{request.Path}{request.QueryString.Value}"; CatExtensions.LogEvent("CatMiddleware", "URL", "0", url); await _next(httpContext); tran.Status = "0"; } catch (Exception ex) { tran.SetStatus(ex); CatExtensions.LogError(ex); throw; } finally { tran.Complete(); } }
public static IApplicationBuilder UseCatMiddleware(this IApplicationBuilder builder) { CatExtensions.Init(); return(builder.UseMiddleware <CatMiddleware>()); }