]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Set Date header by default on all responses.
authorBen Darnell <ben@bendarnell.com>
Thu, 20 Sep 2012 06:26:01 +0000 (23:26 -0700)
committerBen Darnell <ben@bendarnell.com>
Thu, 20 Sep 2012 06:26:01 +0000 (23:26 -0700)
tornado/test/web_test.py
tornado/web.py

index b5e1698e7590fb748e1f772ca819753981938558..4ce5b616bbc1d27dee923e54a5570305acb4a4f3 100644 (file)
@@ -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)
index cc780054c563166f006903475984493f6d99bd58..13e19e1edf58a3bf28dbd5319dbeb0bbd56fffd3 100644 (file)
@@ -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()