From: Ben Darnell Date: Thu, 20 Sep 2012 06:26:01 +0000 (-0700) Subject: Set Date header by default on all responses. X-Git-Tag: v3.0.0~272^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7f1bf05ad1aa6ae39d0e6c507f546bce1080678;p=thirdparty%2Ftornado.git Set Date header by default on all responses. --- diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py index b5e1698e7..4ce5b616b 100644 --- a/tornado/test/web_test.py +++ b/tornado/test/web_test.py @@ -10,6 +10,7 @@ from tornado.util import b, bytes_type, ObjectDict from tornado.web import RequestHandler, authenticated, Application, asynchronous, url, HTTPError, StaticFileHandler, _create_signature, create_signed_value import binascii +import datetime import logging import os import re @@ -890,3 +891,16 @@ class Header304Test(SimpleHandlerTestCase): # Not an entity header, but should not be added to 304s by chunking self.assertTrue("Transfer-Encoding" not in response2.headers) wsgi_safe.append(Header304Test) + +class DateHeaderTest(SimpleHandlerTestCase): + class Handler(RequestHandler): + def get(self): + self.write("hello") + + def test_date_header(self): + response = self.fetch('/') + header_date = datetime.datetime.strptime(response.headers['Date'], + "%a, %d %b %Y %H:%M:%S GMT") + self.assertTrue(header_date - datetime.datetime.utcnow() < + datetime.timedelta(seconds=2)) +wsgi_safe.append(DateHeaderTest) diff --git a/tornado/web.py b/tornado/web.py index cc780054c..13e19e1ed 100644 --- a/tornado/web.py +++ b/tornado/web.py @@ -221,6 +221,8 @@ class RequestHandler(object): self._headers = { "Server": "TornadoServer/%s" % tornado.version, "Content-Type": "text/html; charset=UTF-8", + "Date": datetime.datetime.utcnow().strftime( + "%a, %d %b %Y %H:%M:%S GMT"), } self._list_headers = [] self.set_default_headers()