1 ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
3 ;;; Copyright (c) 2004-2010, Dr. Edmund Weitz. All rights reserved.
5 ;;; Redistribution and use in source and binary forms, with or without
6 ;;; modification, are permitted provided that the following conditions
9 ;;; * Redistributions of source code must retain the above copyright
10 ;;; notice, this list of conditions and the following disclaimer.
12 ;;; * Redistributions in binary form must reproduce the above
13 ;;; copyright notice, this list of conditions and the following
14 ;;; disclaimer in the documentation and/or other materials
15 ;;; provided with the distribution.
17 ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
18 ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
21 ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23 ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 (defpackage #:hunchentoot
33 (:use
:cl
:cl-ppcre
:chunga
:flexi-streams
:url-rewrite
:alexandria
)
34 (:shadow
#:defconstant
42 #:*content-types-for-url-rewrite
*
43 #:*default-connection-timeout
*
44 #:*default-content-type
*
47 #:*handle-http-errors-p
*
49 #:*http-error-handler
*
50 #:*hunchentoot-default-external-format
*
51 #:*hunchentoot-version
*
52 #:*lisp-errors-log-level
*
53 #:*lisp-warnings-log-level
*
54 #:*log-lisp-backtraces-p
*
56 #:*log-lisp-warnings-p
*
57 #:*methods-for-post-parameters
*
60 #:*rewrite-for-session-urls
*
62 #:*session-gc-frequency
*
65 #:*show-lisp-backtraces-p
*
66 #:*show-lisp-errors-p
*
68 #:*use-remote-addr-for-sessions
*
69 #:*use-user-agent-for-sessions
*
71 #:+http-already-reported
+
72 #:+http-authorization-required
+
75 #:+http-client-closed-request
+
77 #:+http-connection-closed-without-response
+
80 #:+http-expectation-failed
+
81 #:+http-failed-dependency
+
83 #:+http-gateway-time-out
+
87 #:+http-insufficient-storage
+
88 #:+http-internal-server-error
+
89 #:+http-length-required
+
91 #:+http-loop-detected
+
92 #:+http-method-not-allowed
+
93 #:+http-misdirected-request
+
94 #:+http-moved-permanently
+
95 #:+http-moved-temporarily
+
97 #:+http-multiple-choices
+
98 #:+http-network-authentication-required
+
99 #:+http-network-connect-timeout-error
+
101 #:+http-non-authoritative-information
+
102 #:+http-not-acceptable
+
105 #:+http-not-implemented
+
106 #:+http-not-modified
+
108 #:+http-partial-content
+
109 #:+http-payment-required
+
110 #:+http-permanent-redirect
+
111 #:+http-precondition-failed
+
112 #:+http-precondition-required
+
114 #:+http-proxy-authentication-required
+
115 #:+http-request-entity-too-large
+
116 #:+http-request-header-fields-too-large
+
117 #:+http-request-time-out
+
118 #:+http-request-uri-too-large
+
119 #:+http-requested-range-not-satisfiable
+
120 #:+http-reset-content
+
122 #:+http-service-unavailable
+
123 #:+http-switching-protocols
+
124 #:+http-temporary-redirect
+
125 #:+http-too-many-requests
+
126 #:+http-unavailable-for-legal-reasons
+
127 #:+http-unprocessable-entity
+
128 #:+http-unsupported-media-type
+
129 #:+http-upgrade-required
+
131 #:+http-variant-also-negotiates
+
132 #:+http-version-not-supported
+
133 #:abort-request-handler
136 #:acceptor-access-log-destination
138 #:acceptor-listen-backlog
139 #:acceptor-dispatch-request
140 #:acceptor-error-template-directory
141 #:acceptor-input-chunking-p
142 #:acceptor-log-access
143 #:acceptor-log-message
144 #:acceptor-message-log-destination
146 #:acceptor-output-chunking-p
147 #:acceptor-persistent-connections-p
149 #:acceptor-read-timeout
150 #:acceptor-remove-session
151 #:acceptor-reply-class
152 #:acceptor-request-class
153 #:acceptor-requests-in-progress
155 #-
:hunchentoot-no-ssl
#:acceptor-ssl-certificate-file
156 #-
:hunchentoot-no-ssl
#:acceptor-ssl-privatekey-file
157 #-
:hunchentoot-no-ssl
#:acceptor-ssl-privatekey-password
158 #:acceptor-status-message
159 #:acceptor-write-timeout
160 #:acceptor-document-root
161 #:acceptor-error-template-directory
183 #:create-folder-dispatcher-and-handler
184 #:create-prefix-dispatcher
185 #:create-regex-dispatcher
186 #:create-request-handler-thread
187 #:create-static-file-dispatcher-and-handler
188 #:decrement-taskmaster-thread-count
189 #:default-document-directory
190 #:define-easy-handler
191 #:delete-aux-request-value
192 #:delete-session-value
193 #:dispatch-easy-handlers
195 #-
:hunchentoot-no-ssl
#:easy-ssl-acceptor
201 #:handle-incoming-connection
202 #:handle-if-modified-since
214 #:hunchentoot-condition
216 #:hunchentoot-warning
217 #:increment-taskmaster-thread-count
218 #:initialize-connection-stream
220 #:maybe-invoke-debugger
222 #:multi-threaded-taskmaster
225 #:one-thread-per-connection-taskmaster
238 #:recompute-request-parameters
241 #:regenerate-session-cookie-value
252 #:reply-external-format
253 #:reply-external-format
*
261 #:require-authorization
262 #:reset-connection-stream
264 #:reset-session-secret
274 #:session-cookie-name
275 #:session-cookie-value
282 #:session-remote-addr
291 #:single-threaded-taskmaster
292 #-
:hunchentoot-no-ssl
#:ssl-acceptor
294 #:get-peer-ssl-certificate
302 #:taskmaster-acceptor
303 #:taskmaster-max-accept-count
304 #:taskmaster-max-thread-count
305 #:taskmaster-thread-count
306 #:too-many-taskmaster-requests