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
)
34 (:shadow
#:defconstant
37 (:import-from
:lw
#:with-unique-names
#:when-let
)
44 #:*content-types-for-url-rewrite
*
45 #:*default-connection-timeout
*
46 #:*default-content-type
*
49 #:*handle-http-errors-p
*
51 #:*http-error-handler
*
52 #:*hunchentoot-default-external-format
*
53 #:*hunchentoot-version
*
54 #:*lisp-errors-log-level
*
55 #:*lisp-warnings-log-level
*
56 #:*log-lisp-backtraces-p
*
58 #:*log-lisp-warnings-p
*
59 #:*methods-for-post-parameters
*
62 #:*rewrite-for-session-urls
*
64 #:*session-gc-frequency
*
67 #:*show-lisp-backtraces-p
*
68 #:*show-lisp-errors-p
*
70 #:*use-remote-addr-for-sessions
*
71 #:*use-user-agent-for-sessions
*
73 #:+http-authorization-required
+
79 #:+http-expectation-failed
+
80 #:+http-failed-dependency
+
82 #:+http-gateway-time-out
+
84 #:+http-internal-server-error
+
85 #:+http-length-required
+
86 #:+http-method-not-allowed
+
87 #:+http-moved-permanently
+
88 #:+http-moved-temporarily
+
90 #:+http-multiple-choices
+
91 #:+http-network-authentication-required
+
93 #:+http-non-authoritative-information
+
94 #:+http-not-acceptable
+
96 #:+http-not-implemented
+
99 #:+http-partial-content
+
100 #:+http-payment-required
+
101 #:+http-precondition-failed
+
102 #:+http-precondition-required
+
103 #:+http-proxy-authentication-required
+
104 #:+http-request-entity-too-large
+
105 #:+http-request-header-fields-too-large
+
106 #:+http-request-time-out
+
107 #:+http-request-uri-too-large
+
108 #:+http-requested-range-not-satisfiable
+
109 #:+http-reset-content
+
111 #:+http-service-unavailable
+
112 #:+http-switching-protocols
+
113 #:+http-temporary-redirect
+
114 #:+http-too-many-requests
+
115 #:+http-unsupported-media-type
+
117 #:+http-version-not-supported
+
118 #:abort-request-handler
121 #:acceptor-access-log-destination
123 #:acceptor-listen-backlog
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-remove-session
136 #:acceptor-reply-class
137 #:acceptor-request-class
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 #:acceptor-document-root
145 #:acceptor-error-template-directory
167 #:create-folder-dispatcher-and-handler
168 #:create-prefix-dispatcher
169 #:create-regex-dispatcher
170 #:create-request-handler-thread
171 #:create-static-file-dispatcher-and-handler
172 #:decrement-taskmaster-thread-count
173 #:default-document-directory
174 #:define-easy-handler
175 #:delete-aux-request-value
176 #:delete-session-value
177 #:dispatch-easy-handlers
179 #-
:hunchentoot-no-ssl
#:easy-ssl-acceptor
185 #:handle-incoming-connection
186 #:handle-if-modified-since
198 #:hunchentoot-condition
200 #:hunchentoot-warning
201 #:increment-taskmaster-thread-count
202 #:initialize-connection-stream
204 #:maybe-invoke-debugger
206 #:multi-threaded-taskmaster
209 #:one-thread-per-connection-taskmaster
222 #:recompute-request-parameters
235 #:reply-external-format
236 #:reply-external-format
*
244 #:require-authorization
245 #:reset-connection-stream
247 #:reset-session-secret
257 #:session-cookie-name
258 #:session-cookie-value
265 #:session-remote-addr
274 #:single-threaded-taskmaster
275 #-
:hunchentoot-no-ssl
#:ssl-acceptor
284 #:taskmaster-acceptor
285 #:taskmaster-max-accept-count
286 #:taskmaster-max-thread-count
287 #:taskmaster-thread-count
288 #:too-many-taskmaster-requests