changeset 80234:0a746c028341

(url-get-normalized-date): Simplify to use `format-time-string'. Always generate date in UTC, but call it GMT for full compatibility with the RFCs.
author Teodor Zlatanov <tzz@lifelogs.com>
date Thu, 28 Feb 2008 19:41:44 +0000
parents 0cb91322b14f
children 58e18c83bf75
files lisp/url/ChangeLog lisp/url/url-util.el
diffstat 2 files changed, 10 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/url/ChangeLog	Thu Feb 28 19:29:14 2008 +0000
+++ b/lisp/url/ChangeLog	Thu Feb 28 19:41:44 2008 +0000
@@ -1,3 +1,9 @@
+2008-02-28  Teodor Zlatanov  <tzz@lifelogs.com>
+
+	* url-util.el (url-get-normalized-date): Simplify
+	to use `format-time-string'.  Always generate date in UTC, but
+	call it GMT for full compatibility with the RFCs.
+
 2008-02-25  John Wiegley  <johnw@newartisans.com>
 
 	* url-auth.el (url-digest-auth): If the 'opaque' argument is not
--- a/lisp/url/url-util.el	Thu Feb 28 19:29:14 2008 +0000
+++ b/lisp/url/url-util.el	Thu Feb 28 19:41:44 2008 +0000
@@ -185,33 +185,10 @@
 
 ;;;###autoload
 (defun url-get-normalized-date (&optional specified-time)
-  "Return a 'real' date string that most HTTP servers can understand."
-  (require 'timezone)
-  (let* ((raw (if specified-time (current-time-string specified-time)
-		(current-time-string)))
-	 (gmt (timezone-make-date-arpa-standard raw
-						(current-time-zone)
-						"GMT"))
-	 (parsed (timezone-parse-date gmt))
-	 (day (cdr-safe (assoc (substring raw 0 3) url-weekday-alist)))
-	 (year nil)
-	 (month (car
-		 (rassoc
-		  (string-to-number (aref parsed 1)) url-monthabbrev-alist)))
-	 )
-    (setq day (or (car-safe (rassoc day url-weekday-alist))
-		  (substring raw 0 3))
-	  year (aref parsed 0))
-    ;; This is needed for plexus servers, or the server will hang trying to
-    ;; parse the if-modified-since header.  Hopefully, I can take this out
-    ;; soon.
-    (if (and year (> (length year) 2))
-	(setq year (substring year -2 nil)))
-
-    (concat day ", " (aref parsed 2) "-" month "-" year " "
-	    (aref parsed 3) " " (or (aref parsed 4)
-				    (concat "[" (nth 1 (current-time-zone))
-					    "]")))))
+ "Return a 'real' date string that most HTTP servers can understand."
+ (let ((system-time-locale "C"))
+  (format-time-string "%a, %d %b %Y %T GMT"
+   (or specified-time (current-time)) t)))
 
 ;;;###autoload
 (defun url-eat-trailing-space (x)