Index: doc/index.html
===================================================================
--- doc/index.html	(revision 4476)
+++ doc/index.html	(working copy)
@@ -939,7 +939,10 @@
 name/value <a
 href="http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_a.htm#alist">alist</a>
 (like <code><i>parameters</i></code>) of additional HTTP headers which
-should be sent with the request.
+should be sent with the request. If the value is a function of no arguments,
+it is applied with no argument to get its dynamic value. It is useful when
+requiring dynamic name/value in the redirection.
+
 <p>
 If <a name="redirect" class=none><code><i>redirect</i></code></a> is
 not <code>NIL</code>, it must be a non-negative integer
Index: request.lisp
===================================================================
--- request.lisp	(revision 4476)
+++ request.lisp	(working copy)
@@ -323,6 +323,9 @@
 
 ADDITIONAL-HEADERS is a name/value alist \(like PARAMETERS) of
 additional HTTP headers which should be sent with the request.
+If the value is a function of no arguments, it is applied with
+no argument to get its dynamic value. It is useful when requiring
+dynamic name/value in the redirection.
 
 If REDIRECT is not NIL, it must be a non-negative integer or T.
 If REDIRECT is true, Drakma will follow redirects \(return codes
@@ -543,7 +546,7 @@
                 (setq must-close close)
                 (write-header "Connection" "close"))
               (loop for (name . value) in additional-headers
-                    do (write-header name "~A" value))
+                    do (write-header name "~A" (if (functionp value) (apply value '()) value)))
               (when content
                 (when content-type
                   (write-header "Content-Type" "~A" content-type))
