Добавить HttpHeader ко всем исходящим HttpRequests - PullRequest
0 голосов
/ 19 марта 2020

Я написал стандартную библиотеку c#. net для добавления заголовков X-Correlation-ID к запросу API и ответу с использованием промежуточного программного обеспечения. Теперь я хочу распространить эти заголовки на все исходящие запросы Http в одном и том же процессе. Я не буду контролировать создание именованных HttpClients, так как все они будут определены клиентами моей библиотеки. Как мне подключиться к конвейеру исходящих запросов, чтобы добавить этот заголовок?

Моей первой мыслью было использование HeaderPropagation на HttpClient, однако это было сделано для. net core 3+ (хотя есть обратный порт) и его похоже для названных HttpClients, о которых я не буду знать заранее. Концепция хоть и интересная. Должен ли я пытаться добавить MessageHandler для всех экземпляров HttpClient? или есть лучший способ сделать это в моей библиотеке?

например, так что это не будет работать:

services.AddHttpClient("AnUnkownClient")
    .AddHttpMessageHandler<AddCorrelationIdHeader>();

, но я хочу что-то вроде этого:

services.AddToAllHttpClients
    .AddHttpMessageHandler<AddCorrelationIdHeader>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...