webserv/webserv/handler/MIMETypes.cpp
2025-10-06 15:16:53 +02:00

42 lines
1.0 KiB
C++

#include <webserv/handler/MIMETypes.hpp>
#include <utility> // for pair
MIMETypes::MIMETypes()
{
initializeDefaults();
}
std::string MIMETypes::getType(const std::string &extension) const
{
auto it = mimeMap.find(extension);
if (it != mimeMap.end())
{
return it->second;
}
return "application/octet-stream"; // Default MIME type
}
void MIMETypes::setType(const std::string &extension, const std::string &mimeType)
{
mimeMap[extension] = mimeType;
}
void MIMETypes::initializeDefaults()
{
mimeMap["html"] = "text/html";
mimeMap["htm"] = "text/html";
mimeMap["css"] = "text/css";
mimeMap["js"] = "application/javascript";
mimeMap["json"] = "application/json";
mimeMap["png"] = "image/png";
mimeMap["jpg"] = "image/jpeg";
mimeMap["jpeg"] = "image/jpeg";
mimeMap["gif"] = "image/gif";
mimeMap["svg"] = "image/svg+xml";
mimeMap["txt"] = "text/plain";
mimeMap["xml"] = "application/xml";
mimeMap["pdf"] = "application/pdf";
// Add more default MIME types as needed
}