[bknr-cvs] edi changed trunk/thirdparty/hunchentoot/doc/index.xml

BKNR Commits bknr at bknr.net
Thu Feb 19 00:36:53 UTC 2009


Revision: 4288
Author: edi
URL: http://bknr.net/trac/changeset/4288

Yawn...

U   trunk/thirdparty/hunchentoot/doc/index.xml

Modified: trunk/thirdparty/hunchentoot/doc/index.xml
===================================================================
--- trunk/thirdparty/hunchentoot/doc/index.xml	2009-02-19 00:20:40 UTC (rev 4287)
+++ trunk/thirdparty/hunchentoot/doc/index.xml	2009-02-19 00:36:53 UTC (rev 4288)
@@ -523,17 +523,6 @@
   </clix:special-variable>
 
 
-  <clix:function name='ssl-p'>
-  <clix:lambda-list>
-  <clix:lkw>optional
-  </clix:lkw> acceptor
-  </clix:lambda-list>
-  <clix:returns>generalized-boolean
-  </clix:returns>
-    <clix:description>Whether the current connection to the client is secure.  See <clix:ref>ACCEPTOR-SSL-P</clix:ref>.
-    </clix:description>
-  </clix:function>
-
   <clix:function generic='true' name='acceptor-ssl-p'>
   <clix:lambda-list>acceptor
   </clix:lambda-list>
@@ -814,6 +803,31 @@
 matches the CL-PPCRE regular expression REGEX.
     </clix:description>
   </clix:function>
+
+      <clix:function name="handle-static-file">
+        <clix:lambda-list>path <clix:lkw>optional</clix:lkw> content-type</clix:lambda-list>
+        <clix:returns>nil</clix:returns>
+        <clix:description>
+          Sends the file denoted by the pathname designator
+          <clix:arg>path</clix:arg> with content type
+          <clix:arg>content-type</clix:arg> to the client.  Sets the
+          necessary handlers.  In particular the function employs
+          <clix:ref>HANDLE-IF-MODIFIED-SINCE</clix:ref>.
+          <p>
+            If <clix:arg>content-type</clix:arg> is <code>NIL</code> the
+            function tries to determine the correct content type from
+            the file's suffix or falls back
+            to <code>"application/octet-stream"</code> as a last resort.
+          </p>
+          <p>
+            Note that this function
+            calls <clix:ref>SEND-HEADERS</clix:ref> internally, so after
+            you've called it, the headers are sent and the return value
+            of your handler is ignored.
+          </p>
+        </clix:description>
+      </clix:function>
+
   <clix:function name='create-static-file-dispatcher-and-handler'>
   <clix:lambda-list>uri path 
   <clix:lkw>optional
@@ -828,6 +842,7 @@
 determine the content type via the file's suffix.
     </clix:description>
   </clix:function>
+
   <clix:function name='default-dispatcher'>
   <clix:lambda-list>request
   </clix:lambda-list>
@@ -1055,19 +1070,43 @@
 
     <clix:subchapter name="handlers" title="Handlers">
 
-  <clix:function name='handle-if-modified-since'>
-  <clix:lambda-list>time 
+  <clix:function name='abort-request-handler'>
+  <clix:lambda-list>
   <clix:lkw>optional
-  </clix:lkw> request
+  </clix:lkw> result
   </clix:lambda-list>
   <clix:returns>result
   </clix:returns>
-    <clix:description>Handles the 'If-Modified-Since' header of REQUEST.  The date string
-is compared to the one generated from the supplied universal time
-TIME.
+    <clix:description>This function can be called by a request handler
+at any time to immediately abort handling the request.  This works as
+if the handler had returned <clix:arg>result</clix:arg>.  See the
+source code of <clix:ref>REDIRECT</clix:ref> for an example.
     </clix:description>
   </clix:function>
 
+      <clix:function name="handle-if-modified-since">
+        <clix:lambda-list>time <clix:lkw>optional</clix:lkw> request</clix:lambda-list>
+        <clix:returns>|</clix:returns>
+        <clix:description>
+          This function is designed to be used inside
+          a <a href="#handlers">handler</a>. If the client has sent an
+          'If-Modified-Since' header
+          (see <a href="http://www.faqs.org/rfcs/rfc2616.html">RFC 2616</a>,
+          section 14.25) and the time specified matches the universal
+          time
+          <clix:arg>time</clix:arg> then the
+          header <clix:ref>+HTTP-NOT-MODIFIED+</clix:ref> with no content
+          is immediately returned to the client.
+          <p>
+            Note that for this function to be useful you should usually
+            send 'Last-Modified' headers back to the client. See the
+            code
+            of <clix:ref>CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER</clix:ref>
+            for an example.
+          </p>
+        </clix:description>
+      </clix:function>
+
     </clix:subchapter>
 
     <clix:subchapter name="requests" title="Request objects">
@@ -1799,6 +1838,31 @@
     </clix:description>
   </clix:accessor>
 
+      <clix:function name="send-headers">
+        <clix:returns>stream</clix:returns>
+        <clix:description>
+          Sends the initial status line and all headers as determined
+          by the <clix:ref>REPLY</clix:ref>
+          object <clix:ref>*REPLY*</clix:ref>.  Returns
+          a <a href="http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_b.htm#binary">binary</a>
+          stream to which the body of the reply can be written.  Once
+          this function has been called, further changes
+          to <clix:ref>*REPLY*</clix:ref> don't have any effect.
+          Also, automatic handling of errors (i.e. sending the
+          corresponding status code to the browser, etc.) is turned
+          off for this request and functions
+          like <clix:ref>REDIRECT</clix:ref> or
+          to <clix:ref>ABORT-REQUEST-HANDLER</clix:ref> won't have the
+          desired effect once the headers are sent.
+          <p>
+            If your handlers return the full body as a string or as an
+            array of octets, you should <em>not</em> call this function.
+            If a handler calls <clix:ref>SEND-HEADERS</clix:ref> , its
+            return value is ignored.
+          </p>
+        </clix:description>
+      </clix:function>
+
   <clix:accessor name='reply-external-format*'>
   <clix:lambda-list>
   <clix:lkw>optional
@@ -2588,6 +2652,95 @@
 
     <clix:subchapter name="misc" title="Miscellaneous">
 
+      <clix:function name="redirect">
+        <clix:lambda-list>target <clix:lkw>key</clix:lkw> host port protocol add-session-id code</clix:lambda-list>
+        <clix:returns>|</clix:returns>
+        <clix:description>
+          Sends back appropriate headers to redirect the client
+          to <clix:arg>target</clix:arg> (a string).
+          <p>
+            If <clix:arg>target</clix:arg> is a full URL starting with a
+            scheme, <clix:arg>host</clix:arg>, <clix:arg>port</clix:arg>,
+            and <clix:arg>protocol</clix:arg> are ignored.
+            Otherwise, <clix:arg>target</clix:arg> should denote the path
+            part of a URL, <clix:arg>protocol</clix:arg> must be one of
+            the keywords <code>:HTTP</code> or <code>:HTTPS</code>, and
+            the URL to redirect to will be constructed
+            from <clix:arg>host</clix:arg>, <clix:arg>port</clix:arg>, <clix:arg>protocol</clix:arg>,
+            and <clix:arg>target</clix:arg>.
+          </p>
+          <p>
+            If <clix:arg>code</clix:arg> is a 3xx redirection code, it
+            will be sent as status code.  In case of <code>NIL</code>, a
+            302 status code will be sent to the client.
+            If <clix:arg>host</clix:arg> is not provided, the current host
+            (see <clix:ref>HOST</clix:ref>) will be
+            used. If <clix:arg>protocol</clix:arg> is the
+            keyword <code>:HTTPS</code>, the client will be redirected
+            to a https URL, if it's <code>:HTTP</code> it'll be sent to
+            a http URL.  If both <clix:arg>host</clix:arg>
+            and <clix:arg>protocol</clix:arg> aren't provided, then the
+            value of <clix:arg>protocol</clix:arg> will match the current
+            request.
+          </p>
+        </clix:description>
+      </clix:function>
+
+      <clix:function name="require-authorization">
+        <clix:lambda-list><clix:lkw>optional</clix:lkw> realm</clix:lambda-list>
+        <clix:returns>|</clix:returns>
+        <clix:description>
+          Sends back appropriate headers to require basic HTTP
+          authentication
+          (see <a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617</a>)
+          for the realm <clix:arg>realm</clix:arg>. The default value
+          for <clix:arg>realm</clix:arg> is <code>"Hunchentoot"</code>.
+        </clix:description>
+      </clix:function>
+
+  <clix:function name='no-cache'>
+  <clix:lambda-list>
+  </clix:lambda-list>
+  <clix:returns>|
+  </clix:returns>
+    <clix:description>Adds appropriate headers to completely prevent caching on most browsers.
+    </clix:description>
+  </clix:function>
+
+   <clix:function name='ssl-p'>
+  <clix:lambda-list>
+  <clix:lkw>optional
+  </clix:lkw> acceptor
+  </clix:lambda-list>
+  <clix:returns>generalized-boolean
+  </clix:returns>
+    <clix:description>Whether the current connection to the client is secure.  See <clix:ref>ACCEPTOR-SSL-P</clix:ref>.
+    </clix:description>
+  </clix:function>
+
+   <clix:function name='reason-phrase'>
+  <clix:lambda-list>return-code
+  </clix:lambda-list>
+  <clix:returns>string
+  </clix:returns>
+    <clix:description>Returns a reason phrase for the HTTP return code <clix:arg>return-code</clix:arg>
+(which should be an integer) or <code>NIL</code> for return codes Hunchentoot
+doesn't know.
+    </clix:description>
+  </clix:function>
+
+ <clix:function name='rfc-1123-date'>
+  <clix:lambda-list>
+  <clix:lkw>optional
+  </clix:lkw> time
+  </clix:lambda-list>
+  <clix:returns>string
+  </clix:returns>
+    <clix:description>Generates a time string according to <a href="http://www.faqs.org/rfcs/rfc1123.html">RFC 1123</a>.  Default is current time.
+This can be used to send a 'Last-Modified' header - see <clix:ref>HANDLE-IF-MODIFIED-SINCE</clix:ref>. 
+    </clix:description>
+  </clix:function>
+
   <clix:function name='url-encode'>
   <clix:lambda-list>string 
   <clix:lkw>optional
@@ -2625,6 +2778,44 @@
     </clix:description>
   </clix:function>
 
+      <clix:function name="http-token-p">
+        <clix:lambda-list>object</clix:lambda-list>
+        <clix:returns>generalized-boolean</clix:returns>
+        <clix:description>
+          This function tests whether <clix:arg>object</clix:arg> is a
+          non-empty string which is a <em>token</em> according
+          to <a href="http://www.faqs.org/rfcs/rfc2068.html">RFC
+            2068</a> (i.e. whether it may be used for, say, cookie names).
+        </clix:description>
+      </clix:function>
+
+  <clix:function name='mime-type'>
+  <clix:lambda-list>pathspec
+  </clix:lambda-list>
+  <clix:returns>result
+  </clix:returns>
+    <clix:description>Given a pathname designator <clix:arg>pathspec</clix:arg> returns the <a href="http://en.wikipedia.org/wiki/Internet_media_type">MIME type</a>
+(as a string) corresponding to the suffix of the file denoted by
+<clix:arg>pathspec</clix:arg> (or <code>NIL</code>).
+    </clix:description>
+  </clix:function>
+
+      <clix:special-variable name="*tmp-directory*">
+        <clix:description>
+          This should be a pathname denoting a directory where temporary
+          files can be stored. It is used for <a href="#upload">file
+            uploads</a>.
+        </clix:description>
+      </clix:special-variable>
+
+  <clix:special-variable name='*header-stream*'>
+    <clix:description>If this variable is not <code>NIL</code>, it should be bound to a stream to
+which incoming and outgoing headers will be written for debugging
+purposes.
+    </clix:description>
+  </clix:special-variable>
+
+
   <clix:special-variable name='*cleanup-function*'>
     <clix:description>A designator for a function without arguments which is called on a
 regular basis if <clix:ref>*CLEANUP-INTERVAL*</clix:ref> is not <code>NIL</code>.  The initial value is
@@ -2652,155 +2843,7 @@
 
   </clix:chapter>
 
-    <clix:chapter name='dict' title='The HUNCHENTOOT dictionary'>
 
-  <clix:special-variable name='*header-stream*'>
-    <clix:description>If this variable is not NIL, it should be bound to a stream to
-which incoming and outgoing headers will be written for debugging
-purposes.
-    </clix:description>
-  </clix:special-variable>
-
-
-  <clix:special-variable name='*tmp-directory*'>
-    <clix:description>Directory for temporary files created by MAKE-TMP-FILE-NAME.
-    </clix:description>
-  </clix:special-variable>
-
-
-  <clix:function name='abort-request-handler'>
-  <clix:lambda-list>
-  <clix:lkw>optional
-  </clix:lkw> result
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>This function can be called by a request handler at any time to
-immediately abort handling the request.  This works as if the handler
-had returned RESULT.  See the source code of REDIRECT for an example.
-    </clix:description>
-  </clix:function>
-
-
-
-  <clix:function name='handle-static-file'>
-  <clix:lambda-list>path 
-  <clix:lkw>optional
-  </clix:lkw> content-type
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>A function which acts like a Hunchentoot handler for the file
-denoted by PATH.  Sends a content type header corresponding to
-CONTENT-TYPE or (if that is NIL) tries to determine the content type
-via the file's suffix.
-    </clix:description>
-  </clix:function>
-
-  <clix:function name='http-token-p'>
-  <clix:lambda-list>token
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Tests whether TOKEN is a string which is a valid 'token'
-according to HTTP/1.1 (RFC 2068).
-    </clix:description>
-  </clix:function>
-
-
-  <clix:function name='mime-type'>
-  <clix:lambda-list>pathspec
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Given a pathname designator PATHSPEC returns the MIME type
-(as a string) corresponding to the suffix of the file denoted by
-PATHSPEC (or NIL).
-    </clix:description>
-  </clix:function>
-
-  <clix:function name='no-cache'>
-  <clix:lambda-list>
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Adds appropriate headers to completely prevent caching on most browsers.
-    </clix:description>
-  </clix:function>
-
- 
-  <clix:function name='reason-phrase'>
-  <clix:lambda-list>return-code
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Returns a reason phrase for the HTTP return code RETURN-CODE
-(which should be an integer) or NIL for return codes Hunchentoot
-doesn't know.
-    </clix:description>
-  </clix:function>
-
-
-  <clix:function name='redirect'>
-  <clix:lambda-list>target 
-  <clix:lkw>key
-  </clix:lkw> host port protocol add-session-id code
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Redirects the browser to TARGET which should be a string.  If
-TARGET is a full URL starting with a scheme, HOST, PORT and PROTOCOL
-are ignored.  Otherwise, TARGET should denote the path part of a URL,
-PROTOCOL must be one of the keywords :HTTP or :HTTPS, and the URL to
-redirect to will be constructed from HOST, PORT, PROTOCOL, and TARGET.
-Adds a session ID if ADD-SESSION-ID is true.  If CODE is a 3xx
-redirection code, it will be sent as status code.
-    </clix:description>
-  </clix:function>
-
-
-  <clix:function name='require-authorization'>
-  <clix:lambda-list>
-  <clix:lkw>optional
-  </clix:lkw> realm
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Sends back appropriate headers to require basic HTTP authentication
-(see RFC 2617) for the realm REALM.
-    </clix:description>
-  </clix:function>
-
-  <clix:function name='rfc-1123-date'>
-  <clix:lambda-list>
-  <clix:lkw>optional
-  </clix:lkw> time
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Generates a time string according to RFC 1123.  Default is current time.
-    </clix:description>
-  </clix:function>
-
-  <clix:function name='send-headers'>
-  <clix:lambda-list>
-  </clix:lambda-list>
-  <clix:returns>result
-  </clix:returns>
-    <clix:description>Sends the initial status line and all headers as determined by the
-REPLY object *REPLY*.  Returns a binary stream to which the body of
-the reply can be written.  Once this function has been called, further
-changes to *REPLY* don't have any effect.  Also, automatic handling of
-errors (i.e. sending the corresponding status code to the browser,
-etc.) is turned off for this request.  If your handlers return the
-full body as a string or as an array of octets you should NOT call
-this function.
-    </clix:description>
-  </clix:function>
-
-
-    </clix:chapter>
-
   <clix:chapter name="testing" title="Testing">
     Hunchentoot comes with a test script which verifies that the
     example web server responds as expected.  This test script uses the





More information about the Bknr-cvs mailing list