Add ResponderHeadersOnly.
ResponderHeadersOnly is a base class for responders that use HTTPClient::head or HTTPClient::getHeaderOnly. It already has a needsHeaders() that return true and only allows for completedHeaders to be overridden. I removed the CURLOPT_HEADER option for these cases, because that only causes the headers to be send to the writeCallback as if they are part of the body, in addition to the headerCallback; That gave raise to some confusion for the existing code (ie, unexpected errors when trying to decode the body as LLSD and duplicated 'low speed' information for the Timeout policy code.
This commit is contained in:
@@ -231,7 +231,7 @@ void LLHTTPClient::getByteRange(std::string const& url, S32 offset, S32 bytes, R
|
||||
request(url, LLURLRequest::HTTP_GET, NULL, responder, headers);
|
||||
}
|
||||
|
||||
void LLHTTPClient::head(std::string const& url, ResponderPtr responder, AIHTTPHeaders& headers)
|
||||
void LLHTTPClient::head(std::string const& url, ResponderHeadersOnly* responder, AIHTTPHeaders& headers)
|
||||
{
|
||||
request(url, LLURLRequest::HTTP_HEAD, NULL, responder, headers);
|
||||
}
|
||||
@@ -241,7 +241,7 @@ void LLHTTPClient::get(std::string const& url, ResponderPtr responder, AIHTTPHea
|
||||
request(url, LLURLRequest::HTTP_GET, NULL, responder, headers);
|
||||
}
|
||||
|
||||
void LLHTTPClient::getHeaderOnly(std::string const& url, ResponderPtr responder, AIHTTPHeaders& headers)
|
||||
void LLHTTPClient::getHeaderOnly(std::string const& url, ResponderHeadersOnly* responder, AIHTTPHeaders& headers)
|
||||
{
|
||||
request(url, LLURLRequest::HTTP_HEAD, NULL, responder, headers);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user