HttpClient
имеет удобное свойство DefaultRequestHeaders
, которое определяет заголовки по умолчанию, которые должны быть включены в любой запрос.
Я пытаюсь применить это к поддержке пакетной обработки в веб-API, но заметил, что эти заголовки по умолчанию не применяются к многосоставным HttpMessageContent
запросам:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Some-Header, "foobar");
var batchContent = new MultipartContent("mixed");
foreach(var x in something)
{
// these inner requests don't get default headers.
HttpRequestMessage msg = MakeRequestFromSomething(x);
batchContent.Add(new HttpMessageContent(msg));
}
// only this outer one does.
var results = await client.PostAsync("/batch", batchContent);
Такое поведение имеет смысл, но я все еще ищу способ применить заголовки к внутренним запросам. Есть ли у HttpClient или веб-API что-нибудь, чтобы сделать это чище, чем вручную очистить заголовки запроса и заменить их значениями по умолчанию для клиента?