public Task InvokeAsync(HttpContext context) { if (InternalHttpHelper.TryGetInternalContext(context, out var manager, out var match, out var tcs)) { _requestsMultiHandler.Publish(new AuthenticatedHttpRequestMessage(manager, match)); return(tcs.Task); } Log.Error("Failed to get internal http components for request {requestId}", context.TraceIdentifier); context.Response.StatusCode = HttpStatusCode.InternalServerError; return(Task.CompletedTask); }
public async Task InvokeAsync(HttpContext context, RequestDelegate next) { if (InternalHttpHelper.TryGetInternalContext(context, out var manager, out var match, out _)) { if (await _authorization.CheckAccessAsync(manager.User, match.ControllerAction.Operation(match.TemplateMatch), context.RequestAborted).ConfigureAwait(false)) { await next(context).ConfigureAwait(false); return; } context.Response.StatusCode = HttpStatusCode.Unauthorized; return; } //LOG Log.Error("Failed to get internal http components for request {requestId}", context.TraceIdentifier); context.Response.StatusCode = HttpStatusCode.InternalServerError; }