1 ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
2 ;;; $Header: /usr/local/cvsrep/hunchentoot/packages.lisp,v 1.34 2008/02/13 16:02:18 edi Exp $
4 ;;; Copyright (c) 2004-2010, Dr. Edmund Weitz. All rights reserved.
6 ;;; Redistribution and use in source and binary forms, with or without
7 ;;; modification, are permitted provided that the following conditions
10 ;;; * Redistributions of source code must retain the above copyright
11 ;;; notice, this list of conditions and the following disclaimer.
13 ;;; * Redistributions in binary form must reproduce the above
14 ;;; copyright notice, this list of conditions and the following
15 ;;; disclaimer in the documentation and/or other materials
16 ;;; provided with the distribution.
18 ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
19 ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
22 ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24 ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 (defpackage #:HUNCHENTOOT
34 (:use
:cl
:cl-ppcre
:chunga
:flexi-streams
:url-rewrite
)
35 (:shadow
#:DEFCONSTANT
37 ;; see ASDF system definition
38 (:import-from
:hunchentoot-asd
:*hunchentoot-version
*)
40 (:import-from
:lw
#:WITH-UNIQUE-NAMES
#:WHEN-LET
)
42 #:*APPROVED-RETURN-CODES
*
48 #:*CONTENT-TYPES-FOR-URL-REWRITE
*
49 #:*DEFAULT-CONNECTION-TIMEOUT
*
50 #:*DEFAULT-CONTENT-TYPE
*
54 #:*HANDLE-HTTP-ERRORS-P
*
56 #:*HTTP-ERROR-HANDLER
*
57 #:*HUNCHENTOOT-DEFAULT-EXTERNAL-FORMAT
*
58 #:*LISP-ERRORS-LOG-LEVEL
*
59 #:*LISP-WARNINGS-LOG-LEVEL
*
60 #:*LOG-LISP-BACKTRACES-P
*
62 #:*LOG-LISP-WARNINGS-P
*
63 #:*METHODS-FOR-POST-PARAMETERS
*
66 #:*REWRITE-FOR-SESSION-URLS
*
68 #:*SESSION-GC-FREQUENCY
*
70 #:*SESSION-REMOVAL-HOOK
*
72 #:*SHOW-LISP-BACKTRACES-P
*
73 #:*SHOW-LISP-ERRORS-P
*
75 #:*USE-REMOTE-ADDR-FOR-SESSIONS
*
76 #:*USE-USER-AGENT-FOR-SESSIONS
*
78 #:+HTTP-AUTHORIZATION-REQUIRED
+
84 #:+HTTP-EXPECTATION-FAILED
+
85 #:+HTTP-FAILED-DEPENDENCY
+
87 #:+HTTP-GATEWAY-TIME-OUT
+
89 #:+HTTP-INTERNAL-SERVER-ERROR
+
90 #:+HTTP-LENGTH-REQUIRED
+
91 #:+HTTP-METHOD-NOT-ALLOWED
+
92 #:+HTTP-MOVED-PERMANENTLY
+
93 #:+HTTP-MOVED-TEMPORARILY
+
95 #:+HTTP-MULTIPLE-CHOICES
+
97 #:+HTTP-NON-AUTHORITATIVE-INFORMATION
+
98 #:+HTTP-NOT-ACCEPTABLE
+
100 #:+HTTP-NOT-IMPLEMENTED
+
101 #:+HTTP-NOT-MODIFIED
+
103 #:+HTTP-PARTIAL-CONTENT
+
104 #:+HTTP-PAYMENT-REQUIRED
+
105 #:+HTTP-PRECONDITION-FAILED
+
106 #:+HTTP-PROXY-AUTHENTICATION-REQUIRED
+
107 #:+HTTP-REQUEST-ENTITY-TOO-LARGE
+
108 #:+HTTP-REQUEST-TIME-OUT
+
109 #:+HTTP-REQUEST-URI-TOO-LARGE
+
110 #:+HTTP-REQUESTED-RANGE-NOT-SATISFIABLE
+
111 #:+HTTP-RESET-CONTENT
+
113 #:+HTTP-SERVICE-UNAVAILABLE
+
114 #:+HTTP-SWITCHING-PROTOCOLS
+
115 #:+HTTP-TEMPORARY-REDIRECT
+
116 #:+HTTP-UNSUPPORTED-MEDIA-TYPE
+
118 #:+HTTP-VERSION-NOT-SUPPORTED
+
119 #:ABORT-REQUEST-HANDLER
122 #:ACCEPTOR-ACCESS-LOG-DESTINATION
124 #:ACCEPTOR-DISPATCH-REQUEST
125 #:ACCEPTOR-ERROR-TEMPLATE-DIRECTORY
126 #:ACCEPTOR-INPUT-CHUNKING-P
127 #:ACCEPTOR-LOG-ACCESS
128 #:ACCEPTOR-LOG-MESSAGE
129 #:ACCEPTOR-MESSAGE-LOG-DESTINATION
131 #:ACCEPTOR-OUTPUT-CHUNKING-P
132 #:ACCEPTOR-PERSISTENT-CONNECTIONS-P
134 #:ACCEPTOR-READ-TIMEOUT
135 #:ACCEPTOR-REPLY-CLASS
136 #:ACCEPTOR-REQUEST-CLASS
138 #-
:hunchentoot-no-ssl
#:ACCEPTOR-SSL-CERTIFICATE-FILE
139 #-
:hunchentoot-no-ssl
#:ACCEPTOR-SSL-PRIVATEKEY-FILE
140 #-
:hunchentoot-no-ssl
#:ACCEPTOR-SSL-PRIVATEKEY-PASSWORD
141 #:ACCEPTOR-STATUS-MESSAGE
142 #:ACCEPTOR-WRITE-TIMEOUT
162 #:CREATE-FOLDER-DISPATCHER-AND-HANDLER
163 #:CREATE-PREFIX-DISPATCHER
164 #:CREATE-REGEX-DISPATCHER
165 #:CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER
166 #:DEFAULT-DOCUMENT-DIRECTORY
167 #:DEFINE-EASY-HANDLER
168 #:DELETE-AUX-REQUEST-VALUE
169 #:DELETE-SESSION-VALUE
170 #:DISPATCH-EASY-HANDLERS
177 #:HANDLE-INCOMING-CONNECTION
178 #:HANDLE-IF-MODIFIED-SINCE
190 #:HUNCHENTOOT-CONDITION
192 #:HUNCHENTOOT-WARNING
193 #:INITIALIZE-CONNECTION-STREAM
195 #:MAYBE-INVOKE-DEBUGGER
199 #:ONE-THREAD-PER-CONNECTION-TASKMASTER
212 #:RECOMPUTE-REQUEST-PARAMETERS
221 #:REPLY-EXTERNAL-FORMAT
222 #:REPLY-EXTERNAL-FORMAT
*
229 #:REQUIRE-AUTHORIZATION
230 #:RESET-CONNECTION-STREAM
232 #:RESET-SESSION-SECRET
242 #:SESSION-COOKIE-NAME
243 #:SESSION-COOKIE-VALUE
250 #:SESSION-REMOTE-ADDR
259 #:SINGLE-THREADED-TASKMASTER
260 #-
:hunchentoot-no-ssl
#:SSL-ACCEPTOR
267 #:TASKMASTER-ACCEPTOR
273 (defpackage :simple-hunchentoot
275 (:export
#:start-server