From 960d974d98cc50eaf156a7897a8f62806579e5d2 Mon Sep 17 00:00:00 2001 From: pje Date: Fri, 24 Mar 2006 20:09:01 +0000 Subject: Implement Guido's patch for proper HTTP ``Date:`` header format git-svn-id: svn://svn.eby-sarna.com/svnroot/wsgiref@2117 571e12c6-e1fa-0310-aee7-ff1267fa46bd --- src/wsgiref/handlers.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/wsgiref/handlers.py b/src/wsgiref/handlers.py index 55b8147..64c4e45 100644 --- a/src/wsgiref/handlers.py +++ b/src/wsgiref/handlers.py @@ -23,17 +23,17 @@ except NameError: False = not True +# Weekday and month names for HTTP date/time formatting; always English! +_weekdayname = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] +_monthname = [None, # Dummy so we can use 1-based month numbers + "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - - - - - - - - - - +def format_date_time(timestamp): + year, month, day, hh, mm, ss, wd, y, z = time.gmtime(timestamp) + return "%s, %02d %3s %4d %02d:%02d:%02d GMT" % ( + _weekdayname[wd], day, _monthname[month], year, hh, mm, ss + ) @@ -196,7 +196,7 @@ class BaseHandler: self._write('HTTP/%s %s\r\n' % (self.http_version,self.status)) if not self.headers.has_key('Date'): self._write( - 'Date: %s\r\n' % time.asctime(time.gmtime(time.time())) + 'Date: %s\r\n' % format_date_time(time.time()) ) if self.server_software and not self.headers.has_key('Server'): self._write('Server: %s\r\n' % self.server_software) -- cgit v1.2.1