Use force-output instead of finish-output to appease SBCL, thanks to
[hunchentoot.git] / packages.lisp
blobe0e4ddcd0e409a610747aeb470b699c3e054e007
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
8 ;;; are met:
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.
30 (in-package :cl-user)
32 (defpackage #:HUNCHENTOOT
33 (:nicknames #:TBNL)
34 (:use :cl :cl-ppcre :chunga :flexi-streams :url-rewrite)
35 (:shadow #:DEFCONSTANT
36 #:URL-ENCODE)
37 ;; see ASDF system definition
38 (:import-from :hunchentoot-asd :*hunchentoot-version*)
39 #+:lispworks
40 (:import-from :lw #:WITH-UNIQUE-NAMES #:WHEN-LET)
41 (:export #:*ACCEPTOR*
42 #:*APPROVED-RETURN-CODES*
43 #:*CATCH-ERRORS-P*
44 #+:lispworks
45 #:*CLEANUP-FUNCTION*
46 #+:lispworks
47 #:*CLEANUP-INTERVAL*
48 #:*CONTENT-TYPES-FOR-URL-REWRITE*
49 #:*DEFAULT-CONNECTION-TIMEOUT*
50 #:*DEFAULT-CONTENT-TYPE*
51 #:*DEFAULT-HANDLER*
52 #:*DISPATCH-TABLE*
53 #:*FILE-UPLOAD-HOOK*
54 #:*HANDLE-HTTP-ERRORS-P*
55 #:*HEADER-STREAM*
56 #:*HTTP-ERROR-HANDLER*
57 #:*HUNCHENTOOT-DEFAULT-EXTERNAL-FORMAT*
58 #:*LISP-ERRORS-LOG-LEVEL*
59 #:*LISP-WARNINGS-LOG-LEVEL*
60 #:*LOG-LISP-BACKTRACES-P*
61 #:*LOG-LISP-ERRORS-P*
62 #:*LOG-LISP-WARNINGS-P*
63 #:*METHODS-FOR-POST-PARAMETERS*
64 #:*REPLY*
65 #:*REQUEST*
66 #:*REWRITE-FOR-SESSION-URLS*
67 #:*SESSION*
68 #:*SESSION-GC-FREQUENCY*
69 #:*SESSION-MAX-TIME*
70 #:*SESSION-REMOVAL-HOOK*
71 #:*SESSION-SECRET*
72 #:*SHOW-LISP-BACKTRACES-P*
73 #:*SHOW-LISP-ERRORS-P*
74 #:*TMP-DIRECTORY*
75 #:*USE-REMOTE-ADDR-FOR-SESSIONS*
76 #:*USE-USER-AGENT-FOR-SESSIONS*
77 #:+HTTP-ACCEPTED+
78 #:+HTTP-AUTHORIZATION-REQUIRED+
79 #:+HTTP-BAD-GATEWAY+
80 #:+HTTP-BAD-REQUEST+
81 #:+HTTP-CONFLICT+
82 #:+HTTP-CONTINUE+
83 #:+HTTP-CREATED+
84 #:+HTTP-EXPECTATION-FAILED+
85 #:+HTTP-FAILED-DEPENDENCY+
86 #:+HTTP-FORBIDDEN+
87 #:+HTTP-GATEWAY-TIME-OUT+
88 #:+HTTP-GONE+
89 #:+HTTP-INTERNAL-SERVER-ERROR+
90 #:+HTTP-LENGTH-REQUIRED+
91 #:+HTTP-METHOD-NOT-ALLOWED+
92 #:+HTTP-MOVED-PERMANENTLY+
93 #:+HTTP-MOVED-TEMPORARILY+
94 #:+HTTP-MULTI-STATUS+
95 #:+HTTP-MULTIPLE-CHOICES+
96 #:+HTTP-NO-CONTENT+
97 #:+HTTP-NON-AUTHORITATIVE-INFORMATION+
98 #:+HTTP-NOT-ACCEPTABLE+
99 #:+HTTP-NOT-FOUND+
100 #:+HTTP-NOT-IMPLEMENTED+
101 #:+HTTP-NOT-MODIFIED+
102 #:+HTTP-OK+
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+
112 #:+HTTP-SEE-OTHER+
113 #:+HTTP-SERVICE-UNAVAILABLE+
114 #:+HTTP-SWITCHING-PROTOCOLS+
115 #:+HTTP-TEMPORARY-REDIRECT+
116 #:+HTTP-UNSUPPORTED-MEDIA-TYPE+
117 #:+HTTP-USE-PROXY+
118 #:+HTTP-VERSION-NOT-SUPPORTED+
119 #:ABORT-REQUEST-HANDLER
120 #:ACCEPT-CONNECTIONS
121 #:ACCEPTOR
122 #:ACCEPTOR-ACCESS-LOG-DESTINATION
123 #:ACCEPTOR-ADDRESS
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
130 #:ACCEPTOR-NAME
131 #:ACCEPTOR-OUTPUT-CHUNKING-P
132 #:ACCEPTOR-PERSISTENT-CONNECTIONS-P
133 #:ACCEPTOR-PORT
134 #:ACCEPTOR-READ-TIMEOUT
135 #:ACCEPTOR-REPLY-CLASS
136 #:ACCEPTOR-REQUEST-CLASS
137 #:ACCEPTOR-SSL-P
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
143 #:AUTHORIZATION
144 #:AUX-REQUEST-VALUE
145 #:CONTENT-LENGTH
146 #:CONTENT-LENGTH*
147 #:CONTENT-TYPE
148 #:CONTENT-TYPE*
149 #:COOKIE-DOMAIN
150 #:COOKIE-EXPIRES
151 #:COOKIE-HTTP-ONLY
152 #:COOKIE-IN
153 #:COOKIE-NAME
154 #:COOKIE-OUT
155 #:COOKIE-PATH
156 #:COOKIE-SECURE
157 #:COOKIE-VALUE
158 #:COOKIES-IN
159 #:COOKIES-IN*
160 #:COOKIES-OUT
161 #:COOKIES-OUT*
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
171 #:EASY-ACCEPTOR
172 #:ESCAPE-FOR-HTML
173 #:EXECUTE-ACCEPTOR
174 #:GET-PARAMETER
175 #:GET-PARAMETERS
176 #:GET-PARAMETERS*
177 #:HANDLE-INCOMING-CONNECTION
178 #:HANDLE-IF-MODIFIED-SINCE
179 #:HANDLE-REQUEST
180 #:HANDLE-STATIC-FILE
181 #:HEADER-IN
182 #:HEADER-IN*
183 #:HEADER-OUT
184 #:HEADERS-IN
185 #:HEADERS-IN*
186 #:HEADERS-OUT
187 #:HEADERS-OUT*
188 #:HOST
189 #:HTTP-TOKEN-P
190 #:HUNCHENTOOT-CONDITION
191 #:HUNCHENTOOT-ERROR
192 #:HUNCHENTOOT-WARNING
193 #:INITIALIZE-CONNECTION-STREAM
194 #:LOG-MESSAGE*
195 #:MAYBE-INVOKE-DEBUGGER
196 #:MIME-TYPE
197 #:NEXT-SESSION-ID
198 #:NO-CACHE
199 #:ONE-THREAD-PER-CONNECTION-TASKMASTER
200 #:PARAMETER
201 #:PARAMETER-ERROR
202 #:POST-PARAMETER
203 #:POST-PARAMETERS
204 #:POST-PARAMETERS*
205 #:PROCESS-CONNECTION
206 #:PROCESS-REQUEST
207 #:QUERY-STRING
208 #:QUERY-STRING*
209 #:RAW-POST-DATA
210 #:REAL-REMOTE-ADDR
211 #:REASON-PHRASE
212 #:RECOMPUTE-REQUEST-PARAMETERS
213 #:REDIRECT
214 #:REFERER
215 #:REMOTE-ADDR
216 #:REMOTE-ADDR*
217 #:REMOTE-PORT
218 #:REMOTE-PORT*
219 #:REMOVE-SESSION
220 #:REPLY
221 #:REPLY-EXTERNAL-FORMAT
222 #:REPLY-EXTERNAL-FORMAT*
223 #:REQUEST
224 #:REQUEST-ACCEPTOR
225 #:REQUEST-METHOD
226 #:REQUEST-METHOD*
227 #:REQUEST-URI
228 #:REQUEST-URI*
229 #:REQUIRE-AUTHORIZATION
230 #:RESET-CONNECTION-STREAM
231 #:RESET-SESSIONS
232 #:RESET-SESSION-SECRET
233 #:RETURN-CODE
234 #:RETURN-CODE*
235 #:RFC-1123-DATE
236 #:SCRIPT-NAME
237 #:SCRIPT-NAME*
238 #:SEND-HEADERS
239 #:SERVER-PROTOCOL
240 #:SERVER-PROTOCOL*
241 #:SESSION
242 #:SESSION-COOKIE-NAME
243 #:SESSION-COOKIE-VALUE
244 #:SESSION-CREATED
245 #:SESSION-DB
246 #:SESSION-DB-LOCK
247 #:SESSION-GC
248 #:SESSION-ID
249 #:SESSION-MAX-TIME
250 #:SESSION-REMOTE-ADDR
251 #:SESSION-START
252 #:SESSION-TOO-OLD-P
253 #:SESSION-USER-AGENT
254 #:SESSION-VALUE
255 #:SESSION-VERIFY
256 #:SET-COOKIE
257 #:SET-COOKIE*
258 #:SHUTDOWN
259 #:SINGLE-THREADED-TASKMASTER
260 #-:hunchentoot-no-ssl #:SSL-ACCEPTOR
261 #:SSL-P
262 #:START
263 #:START-LISTENING
264 #:START-SESSION
265 #:STOP
266 #:TASKMASTER
267 #:TASKMASTER-ACCEPTOR
268 #:URL-DECODE
269 #:URL-ENCODE
270 #:USER-AGENT
271 #:WITHIN-REQUEST-P))
273 (defpackage :simple-hunchentoot
274 (:use #:cl)
275 (:export #:start-server
276 #:stop-server))