shithub: tcp80

Download patch

ref: 5b0a2dc15e68097868728ea726054f3490511a03
parent: 2e7a96c5ed21229382646bbe60d33dcfd35b63f2
author: grobe0ba <grobe0ba@tcp80.org>
date: Mon Aug 1 16:10:12 EDT 2022

expand known content types

--- a/tcp80.c
+++ b/tcp80.c
@@ -31,10 +31,83 @@
 int naheader;
 Pair aheader[64];
 
+// Expanded with information from
+// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
 Ctype ctypemap[] = {
-    ".htm", "text/html;charset=utf-8",	".html", "text/html;charset=utf-8",
-    ".txt", "text/plain;charset=utf-8", ".md",	 "text/markdown;charset=utf-8",
-    ".css", "text/css;charset=utf-8",
+    ".htm",    "text/html;charset=utf-8",
+    ".html",   "text/html;charset=utf-8",
+    ".txt",    "text/plain;charset=utf-8",
+    ".md",     "text/markdown;charset=utf-8",
+    ".css",    "text/css;charset=utf-8",
+    ".aac",    "audio/aac",
+    ".avif",   "image/avif",
+    ".avi",    "video/x-msvideo",
+    ".azw",    "application/vnd.amazon.ebook",
+    ".bin",    "application/octet-stream",
+    ".bmp",    "image/bmp",
+    ".bz",     "application/x-bzip",
+    ".bz2",    "application/x-bzip2",
+    ".cda",    "application/x-cdf",
+    ".csh",    "application/x-csh",
+    ".csv",    "text/csv",
+    ".doc",    "application/msword",
+    ".docx",   "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+    ".eot",    "application/vnd.ms-fontobject",
+    ".epub",   "application/epub+zip",
+    ".gz",     "application/gzip",
+    ".gif",    "image/gif",
+    ".ico",    "image/vnd.microsoft.icon",
+    ".ics",    "text/calendar",
+    ".jar",    "application/java-archive",
+    ".jpeg",   "image/jpeg",
+    ".jpg",    "image/jpeg",
+    ".js",     "text/javascript",
+    ".json",   "application/json",
+    ".jsonld", "application/ld+json",
+    ".mid",    "audio/midi",
+    ".midi",   "audio/midi",
+    ".mjs",    "text/javascript",
+    ".mp3",    "audio/mpeg",
+    ".mp4",    "video/mp4",
+    ".mpeg",   "video/mpeg",
+    ".odp",    "application/vnd.oasis.opendocument.presentation",
+    ".ods",    "application/vnd.oasis.opendocument.spreadsheet",
+    ".odt",    "application/vnd.oasis.opendocument.text",
+    ".oga",    "audio/ogg",
+    ".ogg",    "audio/ogg",
+    ".ogv",    "video/ogg",
+    ".ogx",    "application/ogg",
+    ".opus",   "audio/opus",
+    ".otf",    "font/otf",
+    ".png",    "image/png",
+    ".pdf",    "application/pdf",
+    ".ppt",    "application/vnd.ms-powerpoint",
+    ".pptx",   "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+    ".rar",    "application/vnd.rar",
+    ".rtf",    "application/rtf",
+    ".sh",     "application/x-sh",
+    ".svg",    "image/svg+xml",
+    ".tar",    "application/x-tar",
+    ".tif",    "image/tiff",
+    ".tiff",   "image/tiff",
+    ".ts",     "video/mp2t",
+    ".ttf",    "font/ttf",
+    ".vsd",    "application/vnd.visio",
+    ".wav",    "audio/wav",
+    ".weba",   "audio/webm",
+    ".webm",   "video/webm",
+    ".webp",   "image/webp",
+    ".woff",   "font/woff",
+    ".woff2",  "font/woff2",
+    ".xhtml",  "application/xhtml+xml",
+    ".xls",    "application/vnd.ms-excel",
+    ".xlsx",   "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+    ".xml",    "application/xml",
+    ".xul",    "application/vnd.mozilla.xul+xml",
+    ".zip",    "application/zip",
+    ".3gp",    "video/3gpp",
+    ".3g2",    "video/3gpp2",
+    ".7z",     "application/x-7z-compressed",
 };
 
 char *