diff options
-rw-r--r-- | src/config/mimetypes.nim | 3 | ||||
-rw-r--r-- | src/local/pager.nim | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/config/mimetypes.nim b/src/config/mimetypes.nim index e2aeb901..811f9776 100644 --- a/src/config/mimetypes.nim +++ b/src/config/mimetypes.nim @@ -76,3 +76,6 @@ const JavaScriptTypes = [ func isJavaScriptType*(s: string): bool = return JavaScriptTypes.binarySearch(s) != -1 + +func isTextType*(s: string): bool = + return s.startsWithIgnoreCase("text/") or s.isJavaScriptType() diff --git a/src/local/pager.nim b/src/local/pager.nim index c6059fdb..db2057da 100644 --- a/src/local/pager.nim +++ b/src/local/pager.nim @@ -2763,7 +2763,13 @@ proc connected(pager: Pager; container: Container; response: Response) = else: let i = pager.config.external.mailcap.findMailcapEntry(contentType, "", container.url) - pager.askMailcap(container, istream, contentType, i, response, 0) + if i == -1 and container.contentType.get.isTextType(): + pager.connected2(container, MailcapResult( + flags: {cmfConnect, cmfFound}, + ostream: istream + ), response) + else: + pager.askMailcap(container, istream, contentType, i, response, 0) proc unregisterFd(pager: Pager; fd: int) = pager.pollData.unregister(fd) |