이 시도 :
class Example
{
static void Main()
{
var client = HttpClientFactory.Create(new Handler());
client.BaseAddress = new Uri("http://www.example.local");
var r = client.GetAsync("").Result;
Console.WriteLine(r.StatusCode);
Console.WriteLine(r.Headers.ETag);
}
}
class Handler : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var headerName = "ETag";
var r = await base.SendAsync(request, cancellationToken);
var header = r.Headers.FirstOrDefault(x => x.Key == headerName);
var updatedValue = header.Value.Select(x => x.StartsWith("\"") ? x : "\"" + x + "\"").ToList();
r.Headers.Remove(headerName);
r.Headers.Add(headerName, updatedValue);
return r;
}
}
내 응답 헤더 :
HTTP/1.1 200 OK
날짜 : 2013년 1월 25일 (금) 그리니치 표준시 16시 49분 29초
FiddlerTemplate : True
콘텐츠 길이 : 310
콘텐츠 형식 : 이미지/GIF
의 ETag : rtt123
만약에 위임 핸들러를 만들고 그 안에 해당 헤더를 제거? – Evk