diff --git a/fn/src/Web/Fn.hs b/fn/src/Web/Fn.hs index b3840b4..d985af2 100644 --- a/fn/src/Web/Fn.hs +++ b/fn/src/Web/Fn.hs @@ -202,11 +202,18 @@ fallthrough a ft = -- NOTE(dbp 2015-11-05): This list taken from snap-core, BSD3 licensed. mimeMap :: HM.HashMap String ByteString mimeMap = HM.fromList [ + ( ".7z" , "application/x-7z-compressed" ), + ( ".3gp" , "video/3gpp" ), + ( ".3g2" , "video/3gpp" ), + ( ".aac" , "audio/aac" ), + ( ".apng" , "image/apng" ), + ( ".avif" , "image/avif" ), ( ".asc" , "text/plain" ), - ( ".asf" , "video/x-ms-asf" ), - ( ".asx" , "video/x-ms-asf" ), + ( ".asf" , "application/vnd.ms-asf" ), + ( ".asx" , "application/vnd.ms-asf" ), ( ".au" , "audio/basic" ), ( ".avi" , "video/x-msvideo" ), + ( ".bin" , "application/octet-stream" ), ( ".bmp" , "image/bmp" ), ( ".bz2" , "application/x-bzip" ), ( ".c" , "text/plain" ), @@ -225,22 +232,28 @@ mimeMap = HM.fromList [ <>".wordprocessingml.template" ), ( ".dtd" , "application/xml-dtd" ), ( ".dvi" , "application/x-dvi" ), + ( ".epub" , "application/epub+zip" ), ( ".exe" , "application/octet-stream" ), + ( ".flac" , "audio/flac" ), ( ".flv" , "video/x-flv" ), ( ".gif" , "image/gif" ), - ( ".gz" , "application/x-gzip" ), + ( ".gz" , "application/gzip" ), ( ".hs" , "text/plain" ), ( ".htm" , "text/html" ), ( ".html" , "text/html" ), - ( ".ico" , "image/x-icon" ), - ( ".jar" , "application/x-java-archive" ), + ( ".ics" , "text/calendar" ), + ( ".ico" , "image/vnd.microsoft.icon" ), + ( ".jar" , "application/java-archive" ), ( ".jpeg" , "image/jpeg" ), ( ".jpg" , "image/jpeg" ), ( ".js" , "text/javascript" ), ( ".json" , "application/json" ), + ( ".jsonld" , "application/ld+json" ), ( ".log" , "text/plain" ), - ( ".m3u8" , "application/x-mpegURL" ), - ( ".m3u" , "audio/x-mpegurl" ), + ( ".m3u8" , "application/vnd.apple.mpegurl" ), + ( ".m3u" , "application/vnd.apple.mpegurl" ), + ( ".mid" , "audio/midi" ), + ( ".midi" , "audio/midi" ), ( ".mka" , "audio/x-matroska" ), ( ".mk3d" , "video/x-matroska" ), ( ".mkv" , "video/x-matroska" ), @@ -249,7 +262,12 @@ mimeMap = HM.fromList [ ( ".mp4" , "video/mp4" ), ( ".mpeg" , "video/mpeg" ), ( ".mpg" , "video/mpeg" ), + ( ".oga" , "audio/ogg" ), ( ".ogg" , "application/ogg" ), + ( ".ogv" , "video/ogg" ), + ( ".ogx" , "application/ogg" ), + ( ".opus" , "audio/opus" ), + ( ".otf" , "font/otf" ), ( ".pac" , "application/x-ns-proxy-autoconfig" ), ( ".pdf" , "application/pdf" ), ( ".png" , "image/png" ), @@ -265,6 +283,7 @@ mimeMap = HM.fromList [ <>".presentationml.presentation" ), ( ".ps" , "application/postscript" ), ( ".qt" , "video/quicktime" ), + ( ".rar" , "application/vnd.rar" ), ( ".rtf" , "text/rtf" ), ( ".sig" , "application/pgp-signature" ), ( ".sldx" , "application/vnd.openxmlformats" @@ -283,13 +302,17 @@ mimeMap = HM.fromList [ ( ".tiff" , "image/tiff" ), ( ".torrent" , "application/x-bittorrent" ), ( ".ts" , "video/mp2t" ), - ( ".ttf" , "application/x-font-truetype" ), + ( ".ttf" , "font/ttf" ), ( ".txt" , "text/plain" ), ( ".wav" , "audio/x-wav" ), ( ".wax" , "audio/x-ms-wax" ), + ( ".weba" , "audio/webm" ), ( ".webm" , "video/webm" ), + ( ".webp" , "image/webp" ), ( ".wma" , "audio/x-ms-wma" ), ( ".wmv" , "video/x-ms-wmv" ), + ( ".woff" , "font/woff" ), + ( ".woff2" , "font/woff2" ), ( ".xbm" , "image/x-xbitmap" ), ( ".xlam" , "application/vnd.ms-excel.addin" <>".macroEnabled.12" ),