Move MIME type detection to util/HTTP.cpp

pull/271/head
EinMByte 9 years ago
parent 17cd149e7f
commit 221e350228

@ -152,13 +152,7 @@ void HTTPConnection::HandleRequest()
str = i2p::util::http::preprocessContent(str, address.parent_path().string());
m_Reply = i2p::util::http::Response(200, str);
// TODO: get rid of this hack, actually determine the MIME type
if(address_str.substr(address_str.find_last_of(".")) == ".css")
m_Reply.setHeader("Content-Type", "text/css");
else if(address_str.substr(address_str.find_last_of(".")) == ".js")
m_Reply.setHeader("Content-Type", "text/javascript");
else
m_Reply.setHeader("Content-Type", "text/html");
m_Reply.setHeader("Content-Type", i2p::util::http::getMimeType(address_str));
SendReply();
}

@ -227,6 +227,19 @@ std::string preprocessContent(const std::string& content, const std::string& pat
return result;
}
std::string getMimeType(const std::string& filename)
{
const std::string ext = filename.substr(filename.find_last_of("."));
if(ext == ".css")
return "text/css";
else if(ext == ".css")
return "text/javascript";
else if(ext == ".html" || ext == ".htm")
return "text/html";
else
return "application/octet-stream";
}
}
}
}

@ -92,6 +92,11 @@ private:
*/
std::string preprocessContent(const std::string& content, const std::string& path);
/**
* @return the MIME type based on the extension of the given filename
*/
std::string getMimeType(const std::string& filename);
}
}
}

Loading…
Cancel
Save