diff options
-rw-r--r-- | src/local/container.nim | 3 | ||||
-rw-r--r-- | src/utils/mimeguess.nim | 5 |
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", |