是否可以在 Ocelot中访问DownstreamReRoute
对象?DelegatingHandler
我有一个DelegatingHandler
实例,我想根据正在调用的下游重新路由稍微改变它的行为。我可以根据HttpRequestMessage
传递给SendAsync()
方法的 URL 来执行此操作,但如果可能的话,我更愿意通过下游重新路由键来执行此操作。
我查看了添加的依赖项OcelotBuilder
,看看是否可以注入一些东西然后查询当前的重新路由,但这似乎不可能。
例如,如果我有一个DelegatingHandler
public class MyDelegatingHandler : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
// access reRoute here?
}
}
和配置(为简洁起见删除了必填字段)
"ReRoutes": [
{
"DownstreamPathTemplate": "/downstream/foo",
"UpstreamPathTemplate": "/foo",
"Key": "FooKey",
"DelegatingHandlers": [ "MyDelegatingHandler" ]
},
{
"DownstreamPathTemplate": "/downstream/bar",
"UpstreamPathTemplate": "/bar",
"Key": "BarKey",
"DelegatingHandlers": [ "MyDelegatingHandler" ]
}]
是否有可能知道我是从 delegatingHandler调用FooKey
还是重新路由?BarKey