hgweb: specify a charset when sending raw text files
authorJulian Cowley <julian@lava.net>
Wed, 09 Jun 2010 12:41:44 -1000
changeset 11332 716e176a4e01
parent 11331 997ab9af81df
child 11333 e83aff248c17
hgweb: specify a charset when sending raw text files Gets the charset from encoding.encoding parameter.
mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py	Wed Jun 09 16:39:25 2010 -0500
+++ b/mercurial/hgweb/webcommands.py	Wed Jun 09 12:41:44 2010 -1000
@@ -7,7 +7,7 @@
 
 import os, mimetypes, re, cgi, copy
 import webutil
-from mercurial import error, archival, templater, templatefilters
+from mercurial import error, encoding, archival, templater, templatefilters
 from mercurial.node import short, hex
 from mercurial.util import binary
 from common import paritygen, staticfile, get_contact, ErrorResponse
@@ -51,6 +51,8 @@
     mt = mimetypes.guess_type(path)[0]
     if mt is None:
         mt = binary(text) and 'application/octet-stream' or 'text/plain'
+    if mt.startswith('text/'):
+        mt += '; charset="%s"' % encoding.encoding
 
     req.respond(HTTP_OK, mt, path, len(text))
     return [text]