Automatically set the charset= attribute in the Content-Type: header
[hunchentoot.git] / packages.lisp
blobf08c7798b12ba22529dd2d63ce15468cfca6a5a4
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 #:*ACCESS-LOG-PATHNAME*
43 #:*APPROVED-RETURN-CODES*
44 #:*CATCH-ERRORS-P*
45 #+:lispworks
46 #:*CLEANUP-FUNCTION*
47 #+:lispworks
48 #:*CLEANUP-INTERVAL*
49 #:*CONTENT-TYPES-FOR-URL-REWRITE*
50 #:*DEFAULT-CONNECTION-TIMEOUT*
51 #:*DEFAULT-CONTENT-TYPE*
52 #:*DEFAULT-HANDLER*
53 #:*DISPATCH-TABLE*
54 #:*FILE-UPLOAD-HOOK*
55 #:*HANDLE-HTTP-ERRORS-P*
56 #:*HEADER-STREAM*
57 #:*HTTP-ERROR-HANDLER*
58 #:*HUNCHENTOOT-DEFAULT-EXTERNAL-FORMAT*
59 #:*LISP-ERRORS-LOG-LEVEL*
60 #:*LISP-WARNINGS-LOG-LEVEL*
61 #:*LOG-LISP-BACKTRACES-P*
62 #:*LOG-LISP-ERRORS-P*
63 #:*LOG-LISP-WARNINGS-P*
64 #:*MESSAGE-LOG-PATHNAME*
65 #:*METHODS-FOR-POST-PARAMETERS*
66 #:*REPLY*
67 #:*REQUEST*
68 #:*REWRITE-FOR-SESSION-URLS*
69 #:*SESSION*
70 #:*SESSION-GC-FREQUENCY*
71 #:*SESSION-MAX-TIME*
72 #:*SESSION-REMOVAL-HOOK*
73 #:*SESSION-SECRET*
74 #:*SHOW-LISP-BACKTRACES-P*
75 #:*SHOW-LISP-ERRORS-P*
76 #:*TMP-DIRECTORY*
77 #:*USE-REMOTE-ADDR-FOR-SESSIONS*
78 #:*USE-USER-AGENT-FOR-SESSIONS*
79 #:+HTTP-ACCEPTED+
80 #:+HTTP-AUTHORIZATION-REQUIRED+
81 #:+HTTP-BAD-GATEWAY+
82 #:+HTTP-BAD-REQUEST+
83 #:+HTTP-CONFLICT+
84 #:+HTTP-CONTINUE+
85 #:+HTTP-CREATED+
86 #:+HTTP-EXPECTATION-FAILED+
87 #:+HTTP-FAILED-DEPENDENCY+
88 #:+HTTP-FORBIDDEN+
89 #:+HTTP-GATEWAY-TIME-OUT+
90 #:+HTTP-GONE+
91 #:+HTTP-INTERNAL-SERVER-ERROR+
92 #:+HTTP-LENGTH-REQUIRED+
93 #:+HTTP-METHOD-NOT-ALLOWED+
94 #:+HTTP-MOVED-PERMANENTLY+
95 #:+HTTP-MOVED-TEMPORARILY+
96 #:+HTTP-MULTI-STATUS+
97 #:+HTTP-MULTIPLE-CHOICES+
98 #:+HTTP-NO-CONTENT+
99 #:+HTTP-NON-AUTHORITATIVE-INFORMATION+
100 #:+HTTP-NOT-ACCEPTABLE+
101 #:+HTTP-NOT-FOUND+
102 #:+HTTP-NOT-IMPLEMENTED+
103 #:+HTTP-NOT-MODIFIED+
104 #:+HTTP-OK+
105 #:+HTTP-PARTIAL-CONTENT+
106 #:+HTTP-PAYMENT-REQUIRED+
107 #:+HTTP-PRECONDITION-FAILED+
108 #:+HTTP-PROXY-AUTHENTICATION-REQUIRED+
109 #:+HTTP-REQUEST-ENTITY-TOO-LARGE+
110 #:+HTTP-REQUEST-TIME-OUT+
111 #:+HTTP-REQUEST-URI-TOO-LARGE+
112 #:+HTTP-REQUESTED-RANGE-NOT-SATISFIABLE+
113 #:+HTTP-RESET-CONTENT+
114 #:+HTTP-SEE-OTHER+
115 #:+HTTP-SERVICE-UNAVAILABLE+
116 #:+HTTP-SWITCHING-PROTOCOLS+
117 #:+HTTP-TEMPORARY-REDIRECT+
118 #:+HTTP-UNSUPPORTED-MEDIA-TYPE+
119 #:+HTTP-USE-PROXY+
120 #:+HTTP-VERSION-NOT-SUPPORTED+
121 #:ABORT-REQUEST-HANDLER
122 #:ACCEPT-CONNECTIONS
123 #:ACCEPTOR
124 #:ACCEPTOR-ACCESS-LOG-PATHNAME
125 #:ACCEPTOR-ADDRESS
126 #:ACCEPTOR-DISPATCH-REQUEST
127 #:ACCEPTOR-INPUT-CHUNKING-P
128 #:ACCEPTOR-LOG-ACCESS
129 #:ACCEPTOR-LOG-MESSAGE
130 #:ACCEPTOR-MESSAGE-LOG-PATHNAME
131 #:ACCEPTOR-NAME
132 #:ACCEPTOR-OUTPUT-CHUNKING-P
133 #:ACCEPTOR-PERSISTENT-CONNECTIONS-P
134 #:ACCEPTOR-PORT
135 #:ACCEPTOR-READ-TIMEOUT
136 #:ACCEPTOR-REPLY-CLASS
137 #:ACCEPTOR-REQUEST-CLASS
138 #:ACCEPTOR-SSL-P
139 #-:hunchentoot-no-ssl #:ACCEPTOR-SSL-CERTIFICATE-FILE
140 #-:hunchentoot-no-ssl #:ACCEPTOR-SSL-PRIVATEKEY-FILE
141 #-:hunchentoot-no-ssl #:ACCEPTOR-SSL-PRIVATEKEY-PASSWORD
142 #:ACCEPTOR-STATUS-MESSAGE
143 #:ACCEPTOR-WRITE-TIMEOUT
144 #:AUTHORIZATION
145 #:AUX-REQUEST-VALUE
146 #:CONTENT-LENGTH
147 #:CONTENT-LENGTH*
148 #:CONTENT-TYPE
149 #:CONTENT-TYPE*
150 #:COOKIE-DOMAIN
151 #:COOKIE-EXPIRES
152 #:COOKIE-HTTP-ONLY
153 #:COOKIE-IN
154 #:COOKIE-NAME
155 #:COOKIE-OUT
156 #:COOKIE-PATH
157 #:COOKIE-SECURE
158 #:COOKIE-VALUE
159 #:COOKIES-IN
160 #:COOKIES-IN*
161 #:COOKIES-OUT
162 #:COOKIES-OUT*
163 #:CREATE-FOLDER-DISPATCHER-AND-HANDLER
164 #:CREATE-PREFIX-DISPATCHER
165 #:CREATE-REGEX-DISPATCHER
166 #:CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER
167 #:DEFAULT-DOCUMENT-DIRECTORY
168 #:DEFINE-EASY-HANDLER
169 #:DELETE-AUX-REQUEST-VALUE
170 #:DELETE-SESSION-VALUE
171 #:DISPATCH-EASY-HANDLERS
172 #:EASY-ACCEPTOR
173 #:ESCAPE-FOR-HTML
174 #:EXECUTE-ACCEPTOR
175 #:GET-PARAMETER
176 #:GET-PARAMETERS
177 #:GET-PARAMETERS*
178 #:HANDLE-INCOMING-CONNECTION
179 #:HANDLE-IF-MODIFIED-SINCE
180 #:HANDLE-REQUEST
181 #:HANDLE-STATIC-FILE
182 #:HEADER-IN
183 #:HEADER-IN*
184 #:HEADER-OUT
185 #:HEADERS-IN
186 #:HEADERS-IN*
187 #:HEADERS-OUT
188 #:HEADERS-OUT*
189 #:HOST
190 #:HTTP-TOKEN-P
191 #:HUNCHENTOOT-CONDITION
192 #:HUNCHENTOOT-ERROR
193 #:HUNCHENTOOT-WARNING
194 #:INITIALIZE-CONNECTION-STREAM
195 #:LOG-MESSAGE*
196 #:MAYBE-INVOKE-DEBUGGER
197 #:MIME-TYPE
198 #:NEXT-SESSION-ID
199 #:NO-CACHE
200 #:ONE-THREAD-PER-CONNECTION-TASKMASTER
201 #:PARAMETER
202 #:PARAMETER-ERROR
203 #:POST-PARAMETER
204 #:POST-PARAMETERS
205 #:POST-PARAMETERS*
206 #:PROCESS-CONNECTION
207 #:PROCESS-REQUEST
208 #:QUERY-STRING
209 #:QUERY-STRING*
210 #:RAW-POST-DATA
211 #:REAL-REMOTE-ADDR
212 #:REASON-PHRASE
213 #:RECOMPUTE-REQUEST-PARAMETERS
214 #:REDIRECT
215 #:REFERER
216 #:REMOTE-ADDR
217 #:REMOTE-ADDR*
218 #:REMOTE-PORT
219 #:REMOTE-PORT*
220 #:REMOVE-SESSION
221 #:REPLY
222 #:REPLY-EXTERNAL-FORMAT
223 #:REPLY-EXTERNAL-FORMAT*
224 #:REQUEST
225 #:REQUEST-ACCEPTOR
226 #:REQUEST-METHOD
227 #:REQUEST-METHOD*
228 #:REQUEST-URI
229 #:REQUEST-URI*
230 #:REQUIRE-AUTHORIZATION
231 #:RESET-CONNECTION-STREAM
232 #:RESET-SESSIONS
233 #:RESET-SESSION-SECRET
234 #:RETURN-CODE
235 #:RETURN-CODE*
236 #:RFC-1123-DATE
237 #:SCRIPT-NAME
238 #:SCRIPT-NAME*
239 #:SEND-HEADERS
240 #:SERVER-PROTOCOL
241 #:SERVER-PROTOCOL*
242 #:SESSION
243 #:SESSION-COOKIE-NAME
244 #:SESSION-COOKIE-VALUE
245 #:SESSION-CREATED
246 #:SESSION-DB
247 #:SESSION-DB-LOCK
248 #:SESSION-GC
249 #:SESSION-ID
250 #:SESSION-MAX-TIME
251 #:SESSION-REMOTE-ADDR
252 #:SESSION-START
253 #:SESSION-TOO-OLD-P
254 #:SESSION-USER-AGENT
255 #:SESSION-VALUE
256 #:SESSION-VERIFY
257 #:SET-COOKIE
258 #:SET-COOKIE*
259 #:SHUTDOWN
260 #:SINGLE-THREADED-TASKMASTER
261 #-:hunchentoot-no-ssl #:SSL-ACCEPTOR
262 #:SSL-P
263 #:START
264 #:START-LISTENING
265 #:START-SESSION
266 #:STOP
267 #:TASKMASTER
268 #:TASKMASTER-ACCEPTOR
269 #:URL-DECODE
270 #:URL-ENCODE
271 #:USER-AGENT
272 #:WITHIN-REQUEST-P))
274 (defpackage :simple-hunchentoot
275 (:use #:cl)
276 (:export #:start-server
277 #:stop-server))