고맙다 - 내 솔루션은 HEAD 요청을 처리 할 수있는 IPipelineContributor을 추가했다. I 요청이 정상적으로 처리 될 수 있도록하기 위해 드릴 선두로부터 HTTP 메소드를 교환 전 공정에서
public void Initialize(IPipeline pipelineRunner)
{
// We're going to modify the HTTP method, so allow Rasta to have a go first
pipelineRunner.Notify(PreProcessRequest).After<HttpMethodOverriderContributor>();
}
다음과 같이 초기화 기여 하였다.
static PipelineContinuation PreProcessRequest(ICommunicationContext arg)
{
if (arg.Request.HttpMethod == "HEAD")
{
// Change the method to GET to allow normal processing
arg.Request.HttpMethod = HttpMethod.GET.ToString();
}
return PipelineContinuation.Continue;
}
파이프 라인이 끝날 때 응답 헤더가 예상대로 작성되지만 아무 것도 본문에 쓰여지지 않습니다.
현재로서는 HEAD 요청에 코덱을 전혀 사용하지 않아서 처리하고 있습니다. 실제로 코덱에 헤더를 설정했기 때문에 일부 코드가 중복됩니다. 대신 HEAD 요청에 대한 핸들러에서 헤더를 설정하고 응답에서 엔티티를 리턴하지 않습니다. –