Возможно ли получить доступ к объекту DownstreamReRoute
в пределах DelegatingHandler
в Ocelot? У меня есть экземпляр DelegatingHandler
, и я хотел бы немного изменить его поведение в зависимости от вызываемого обратного маршрута. Я мог бы сделать это на основе URL-адреса HttpRequestMessage
, который передается в метод SendAsync()
, но я бы предпочел сделать это с помощью ключа перенаправления вниз по потоку, если это возможно.
Я посмотрел на зависимости, добавленные OcelotBuilder
, чтобы увидеть, есть ли что-то, что я мог бы вставить, чтобы затем запросить текущий маршрут, но это не представляется возможным.
Например, если у меня есть DelegatingHandler
public class MyDelegatingHandler : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
// access reRoute here?
}
}
и config (для краткости обязательные поля удалены)
"ReRoutes": [
{
"DownstreamPathTemplate": "/downstream/foo",
"UpstreamPathTemplate": "/foo",
"Key": "FooKey",
"DelegatingHandlers": [ "MyDelegatingHandler" ]
},
{
"DownstreamPathTemplate": "/downstream/bar",
"UpstreamPathTemplate": "/bar",
"Key": "BarKey",
"DelegatingHandlers": [ "MyDelegatingHandler" ]
}]
Можно ли узнать, звоню ли я FooKey
или BarKey
reRoute из DelegatingHandler?