summaryrefslogtreecommitdiffstats
path: root/tools/md_browser
diff options
context:
space:
mode:
authorcmumford <cmumford@chromium.org>2016-03-14 10:49:05 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-14 17:52:19 +0000
commite215c9f5f80130a689abcfe03721f3524be0150a (patch)
tree503383cf9b63dc04cf1bd2510b38d59c11410682 /tools/md_browser
parentb828e8c267d22f6f308f312e46ca7fae78f27d26 (diff)
downloadchromium_src-e215c9f5f80130a689abcfe03721f3524be0150a.zip
chromium_src-e215c9f5f80130a689abcfe03721f3524be0150a.tar.gz
chromium_src-e215c9f5f80130a689abcfe03721f3524be0150a.tar.bz2
[md_browser]: Sending header w/Content-Type.
Some browsers (Firefox) display response as plain text w/o any Content-Type. Review URL: https://codereview.chromium.org/1786013003 Cr-Commit-Position: refs/heads/master@{#381001}
Diffstat (limited to 'tools/md_browser')
-rw-r--r--tools/md_browser/md_browser.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/md_browser/md_browser.py b/tools/md_browser/md_browser.py
index 5ee2fa2..2b96852 100644
--- a/tools/md_browser/md_browser.py
+++ b/tools/md_browser/md_browser.py
@@ -92,7 +92,7 @@ class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
if not full_path.startswith(SRC_DIR):
self._DoUnknown()
elif path == '/doc.css':
- self._WriteTemplate('doc.css')
+ self._DoCSS('doc.css')
elif not os.path.exists(full_path):
self._DoNotFound()
elif path.lower().endswith('.md'):
@@ -122,16 +122,23 @@ class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
extension_configs=extension_configs,
output_format='html4').encode('utf-8')
try:
+ self._WriteHeader('text/html')
self._WriteTemplate('header.html')
self.wfile.write(md_fragment)
self._WriteTemplate('footer.html')
except:
raise
+ def _DoCSS(self, template):
+ self._WriteHeader('text/css')
+ self._WriteTemplate(template)
+
def _DoNotFound(self):
+ self._WriteHeader('text/html')
self.wfile.write('<html><body>%s not found</body></html>' % self.path)
def _DoUnknown(self):
+ self._WriteHeader('text/html')
self.wfile.write('<html><body>I do not know how to serve %s.</body>'
'</html>' % self.path)
@@ -141,6 +148,11 @@ class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
with codecs.open(path, encoding='utf-8') as fp:
return fp.read()
+ def _WriteHeader(self, content_type='text/plain'):
+ self.send_response(200)
+ self.send_header('Content-Type', content_type)
+ self.end_headers()
+
def _WriteTemplate(self, template):
contents = self._Read(os.path.join('tools', 'md_browser', template))
self.wfile.write(contents.encode('utf-8'))