summaryrefslogtreecommitdiffhomepage
path: root/mime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mime.cpp')
-rw-r--r--mime.cpp55
1 files changed, 26 insertions, 29 deletions
diff --git a/mime.cpp b/mime.cpp
index cb3e323..b28cb9d 100644
--- a/mime.cpp
+++ b/mime.cpp
@@ -8,34 +8,31 @@ namespace beast = boost::beast;
// Return a reasonable mime type based on the extension of a file.
std::string Reichwein::Mime::mime_type(const std::string& path)
{
- auto const ext = [&path]
- {
- auto const pos = path.rfind(".");
- if (pos == std::string::npos)
- return std::string{};
- return path.substr(pos);
- }();
- if(boost::algorithm::istarts_with(ext, ".htm")) return "text/html";
- if(boost::algorithm::istarts_with(ext, ".html")) return "text/html";
- if(boost::algorithm::istarts_with(ext, ".php")) return "text/html";
- if(boost::algorithm::istarts_with(ext, ".css")) return "text/css";
- if(boost::algorithm::istarts_with(ext, ".txt")) return "text/plain";
- if(boost::algorithm::istarts_with(ext, ".js")) return "application/javascript";
- if(boost::algorithm::istarts_with(ext, ".json")) return "application/json";
- if(boost::algorithm::istarts_with(ext, ".xml")) return "application/xml";
- if(boost::algorithm::istarts_with(ext, ".swf")) return "application/x-shockwave-flash";
- if(boost::algorithm::istarts_with(ext, ".flv")) return "video/x-flv";
- if(boost::algorithm::istarts_with(ext, ".png")) return "image/png";
- if(boost::algorithm::istarts_with(ext, ".jpe")) return "image/jpeg";
- if(boost::algorithm::istarts_with(ext, ".jpeg")) return "image/jpeg";
- if(boost::algorithm::istarts_with(ext, ".jpg")) return "image/jpeg";
- if(boost::algorithm::istarts_with(ext, ".gif")) return "image/gif";
- if(boost::algorithm::istarts_with(ext, ".bmp")) return "image/bmp";
- if(boost::algorithm::istarts_with(ext, ".ico")) return "image/vnd.microsoft.icon";
- if(boost::algorithm::istarts_with(ext, ".tiff")) return "image/tiff";
- if(boost::algorithm::istarts_with(ext, ".tif")) return "image/tiff";
- if(boost::algorithm::istarts_with(ext, ".svg")) return "image/svg+xml";
- if(boost::algorithm::istarts_with(ext, ".svgz")) return "image/svg+xml";
- return "application/text";
+ auto const pos = path.rfind(".");
+ if (pos == std::string::npos)
+ return {};
+ auto const ext = path.substr(pos);
+ if(boost::algorithm::iequals(ext, ".htm")) return "text/html";
+ if(boost::algorithm::iequals(ext, ".html")) return "text/html";
+ if(boost::algorithm::iequals(ext, ".php")) return "text/html";
+ if(boost::algorithm::iequals(ext, ".css")) return "text/css";
+ if(boost::algorithm::iequals(ext, ".txt")) return "text/plain";
+ if(boost::algorithm::iequals(ext, ".js")) return "application/javascript";
+ if(boost::algorithm::iequals(ext, ".json")) return "application/json";
+ if(boost::algorithm::iequals(ext, ".xml")) return "application/xml";
+ if(boost::algorithm::iequals(ext, ".swf")) return "application/x-shockwave-flash";
+ if(boost::algorithm::iequals(ext, ".flv")) return "video/x-flv";
+ if(boost::algorithm::iequals(ext, ".png")) return "image/png";
+ if(boost::algorithm::iequals(ext, ".jpe")) return "image/jpeg";
+ if(boost::algorithm::iequals(ext, ".jpeg")) return "image/jpeg";
+ if(boost::algorithm::iequals(ext, ".jpg")) return "image/jpeg";
+ if(boost::algorithm::iequals(ext, ".gif")) return "image/gif";
+ if(boost::algorithm::iequals(ext, ".bmp")) return "image/bmp";
+ if(boost::algorithm::iequals(ext, ".ico")) return "image/vnd.microsoft.icon";
+ if(boost::algorithm::iequals(ext, ".tiff")) return "image/tiff";
+ if(boost::algorithm::iequals(ext, ".tif")) return "image/tiff";
+ if(boost::algorithm::iequals(ext, ".svg")) return "image/svg+xml";
+ if(boost::algorithm::iequals(ext, ".svgz")) return "image/svg+xml";
+ return "application/text";
}