Remove Metalink content-type after first server response.

We don't accept Metalink content-type after first server response.
pull/1/head
Tatsuhiro Tsujikawa 2011-07-25 00:03:13 +09:00
parent 9fc4384c13
commit 5a4a627d72
3 changed files with 7 additions and 0 deletions

View File

@ -204,6 +204,7 @@ bool HttpResponseCommand::executeInternal()
}
}
if(!getPieceStorage()) {
util::removeMetalinkContentTypes(getRequestGroup());
uint64_t totalLength = httpResponse->getEntityLength();
getFileEntry()->setLength(totalLength);
if(getFileEntry()->getPath().empty()) {

View File

@ -1459,6 +1459,11 @@ bool inSameCidrBlock(const std::string& ip1, const std::string& ip2, int bits)
}
void removeMetalinkContentTypes(const SharedHandle<RequestGroup>& group)
{
removeMetalinkContentTypes(group.get());
}
void removeMetalinkContentTypes(RequestGroup* group)
{
for(std::vector<std::string>::const_iterator i =
DownloadHandlerConstants::getMetalinkContentTypes().begin(),

View File

@ -415,6 +415,7 @@ bool getCidrPrefix(struct in_addr& in, const std::string& ip, int bits);
bool inSameCidrBlock(const std::string& ip1, const std::string& ip2, int bits);
void removeMetalinkContentTypes(const SharedHandle<RequestGroup>& group);
void removeMetalinkContentTypes(RequestGroup* group);
// No throw
void executeHookByOptName