about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/local/container.nim3
-rw-r--r--src/utils/mimeguess.nim5
2 files changed, 5 insertions, 3 deletions
diff --git a/src/local/container.nim b/src/local/container.nim
index 011c7279..62799c56 100644
--- a/src/local/container.nim
+++ b/src/local/container.nim
@@ -1412,7 +1412,8 @@ proc applyResponse*(container: Container; response: Response;
   if container.contentType.isNone:
     var contentType = response.getContentType()
     if contentType == "application/octet-stream":
-      contentType = mimeTypes.guessContentType(container.url.pathname)
+      contentType = mimeTypes.guessContentType(container.url.pathname,
+        "text/plain")
     container.contentType = some(contentType)
   # setup charsets:
   # * override charset
diff --git a/src/utils/mimeguess.nim b/src/utils/mimeguess.nim
index 4b8df086..f13eaf89 100644
--- a/src/utils/mimeguess.nim
+++ b/src/utils/mimeguess.nim
@@ -8,7 +8,8 @@ const DefaultGuess* = block:
   let ss = newStringStream(staticRead"res/mime.types")
   parseMimeTypes(ss)
 
-func guessContentType*(mimeTypes: MimeTypes; path: string): string =
+func guessContentType*(mimeTypes: MimeTypes; path: string;
+    fallback = "application/octet-stream"): string =
   var n = 0
   for i in countdown(path.high, 0):
     if path[i] == '/':
@@ -20,7 +21,7 @@ func guessContentType*(mimeTypes: MimeTypes; path: string): string =
     let ext = path.substr(n + 1)
     if ext in mimeTypes:
       return mimeTypes[ext]
-  return "application/octet-stream"
+  return fallback
 
 const JavaScriptTypes = [
   "application/ecmascript",