public async Task InvokeAsync(HttpContext context, RequestDelegate next) { if (!_endpoints.TryGetValue(context.Request.Method, out var endpoints)) { await next(context); return; } foreach (var endpoint in endpoints) { var match = _routeMatcher.Match(endpoint.Path, context.Request.Path); if (match is null) { continue; } var key = $"{endpoint.Exchange}:{endpoint.RoutingKey}"; if (!Conventions.TryGetValue(key, out var conventions)) { conventions = new MessageConventions(typeof(object), endpoint.RoutingKey, endpoint.Exchange, null); Conventions.TryAdd(key, conventions); } var messageId = Guid.NewGuid().ToString("N"); var correlationId = _correlationIdFactory.Create(); var resourceId = Guid.NewGuid().ToString("N"); var correlationContext = _correlationContextBuilder.Build(context, correlationId, default,
public override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var correlationId = _correlationIdFactory.Create(); request.Headers.TryAddWithoutValidation("x-correlation-id", correlationId); return(await base.SendAsync(request, cancellationToken)); }
public async Task InvokeAsync(HttpContext context, RequestDelegate next) { var correlationId = _correlationIdFactory.Create(); using (LogContext.PushProperty("CorrelationId", correlationId)) { await next(context); } }