This is the hunchentoot-errors Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 05:30:10 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
hunchentoot-errors
Augments Hunchentoot error pages and logs with request and session information
Mariano Montone <marianomontone@gmail.com>
MIT
# hunchentoot-errors
Augments Hunchentoot error pages and logs with request and session information
## Usage
Subclass your acceptor from ‘HUNCHENTOOT-ERRORS:ERRORS-ACCEPTOR‘.
When ‘hunchentoot:*show-lisp-errors-p*‘ is on, you get HTTP request and session information printed in errors pages and logs, like:
“‘
Backtrace for: #<SB-THREAD:THREAD "hunchentoot-worker-127.0.0.1:46428" RUNNING {1002007DE3}>
0: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE-TO-STREAM #<SB-IMPL::CHARACTER-STRING-OSTREAM {1003C82953}>)
1: ((FLET "FORM-FUN-4" :IN HUNCHENTOOT::GET-BACKTRACE))
2: (HUNCHENTOOT::GET-BACKTRACE)
3: ((FLET "H0" :IN HUNCHENTOOT:HANDLE-REQUEST) #<SIMPLE-ERROR "sdf" {1003C827F3}>)
4: (SB-KERNEL::%SIGNAL #<SIMPLE-ERROR "sdf" {1003C827F3}>)
5: (ERROR "sdf")
6: (INVOICE-ENGINE::ADMIN/USERS/CREATE)
7: ((LAMBDA NIL :IN EASY-ROUTES::PROCESS-ROUTE))
8: (EASY-ROUTES::CALL-WITH-DECORATORS NIL #<CLOSURE (LAMBDA NIL :IN EASY-ROUTES::PROCESS-ROUTE) {1003C7C57B}>)
9: ((LAMBDA NIL :IN EASY-ROUTES::CALL-WITH-DECORATORS))
10: (INVOICE-ENGINE::@SUPERADMIN #<CLOSURE (LAMBDA NIL :IN EASY-ROUTES::CALL-WITH-DECORATORS) {1003C7C59B}>)
11: (EASY-ROUTES::CALL-DECORATOR INVOICE-ENGINE::@SUPERADMIN #<CLOSURE (LAMBDA NIL :IN EASY-ROUTES::CALL-WITH-DECORATORS) {1003C7C59B}>)
12: (EASY-ROUTES::CALL-WITH-DECORATORS (INVOICE-ENGINE::@SUPERADMIN) #<CLOSURE (LAMBDA NIL :IN EASY-ROUTES::PROCESS-ROUTE) {1003C7C57B}>)
13: ((:METHOD EASY-ROUTES::PROCESS-ROUTE (EASY-ROUTES:ROUTE T)) #<EASY-ROUTES:ROUTE ADMIN/USERS/CREATE: POST ("admin" "users" "new") {1007C3AFD3}> NIL) [fast-method]
14: ((:METHOD HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST (EASY-ROUTES:EASY-ROUTES-ACCEPTOR T)) #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<HUNCHENTOOT:REQUEST {1003C79383}>) [fast-method]
15: ((:METHOD HUNCHENTOOT:HANDLE-REQUEST (HUNCHENTOOT:ACCEPTOR HUNCHENTOOT:REQUEST)) #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<HUNCHENTOOT:REQUEST {1003C79383}>) [fast-method]
16: ((:METHOD HUNCHENTOOT:PROCESS-REQUEST (T)) #<HUNCHENTOOT:REQUEST {1003C79383}>) [fast-method]
17: ((SB-PCL::DEFAULT-ONLY HUNCHENTOOT:PROCESS-REQUEST) #<HUNCHENTOOT:REQUEST {1003C79383}>)
18: ((LAMBDA NIL :IN HUNCHENTOOT:PROCESS-CONNECTION))
19: (HUNCHENTOOT::DO-WITH-ACCEPTOR-REQUEST-COUNT-INCREMENTED #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<CLOSURE (LAMBDA NIL :IN HUNCHENTOOT:PROCESS-CONNECTION) {1003C788FB}>)
20: ((:METHOD HUNCHENTOOT:PROCESS-CONNECTION (HUNCHENTOOT:ACCEPTOR T)) #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<USOCKET:STREAM-USOCKET {1001D1FEC3}>) [fast-method]
21: ((FLET CALL-NEXT-METHOD :IN "/mnt/e6b00b8f-9dad-4bf4-bd40-34b1e6d31f0a/home/marian/quicklisp/dists/quicklisp/software/hunchentoot-v1.2.38/acceptor.lisp"))
22: ((:METHOD HUNCHENTOOT:PROCESS-CONNECTION :AROUND (HUNCHENTOOT:ACCEPTOR T)) #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<USOCKET:STREAM-USOCKET {1001D1FEC3}>) [fast-method]
23: ((FLET HUNCHENTOOT::PROCESS-CONNECTION% :IN HUNCHENTOOT::HANDLE-INCOMING-CONNECTION%) #<INVOICE-ENGINE::IE-WEB-ACCEPTOR (host *, port 9090)> #<USOCKET:STREAM-USOCKET {1001D1FEC3}>)
24: ((:METHOD HUNCHENTOOT::HANDLE-INCOMING-CONNECTION% (HUNCHENTOOT:ONE-THREAD-PER-CONNECTION-TASKMASTER T)) #<HUNCHENTOOT:ONE-THREAD-PER-CONNECTION-TASKMASTER {10065EB6E3}> #<USOCKET:STREAM-USOCKET {1001D1FEC3}>) [fast-method]
25: ((LAMBDA NIL :IN HUNCHENTOOT:CREATE-REQUEST-HANDLER-THREAD))
26: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
27: ((FLET SB-UNIX::BODY :IN SB-THREAD::NEW-LISP-THREAD-TRAMPOLINE))
28: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::NEW-LISP-THREAD-TRAMPOLINE))
29: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::NEW-LISP-THREAD-TRAMPOLINE))
30: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-THREAD::CALL-WITH-MUTEX))
31: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::NEW-LISP-THREAD-TRAMPOLINE) {7FD95C27ED9B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD "hunchentoot-worker-127.0.0.1:46428" RUNNING {1002007DE3}>> NIL T NIL)
32: (SB-THREAD::NEW-LISP-THREAD-TRAMPOLINE #<SB-THREAD:THREAD "hunchentoot-worker-127.0.0.1:46428" RUNNING {1002007DE3}> NIL #<CLOSURE (LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS) {1001FF7FBB}> NIL)
33: ("foreign function: call_into_lisp")
34: ("foreign function: new_thread_trampoline")
HTTP REQUEST:
uri: /admin/users/new
method: POST
post parameters:
name: asdf
username: asdf
email: sdf@asdfasdf.com
password: asdfasdf
SESSION:
FLASH-MESSAGES: NIL
ROLE: "superadmin"
USER: 3
FORWARD-URL: "/"
“‘
## License
MIT
0.0.1
hunchentoot
(system).
string-case
(system).
parse-number
(system).
cl-mimeparse
(system).
package.lisp
(file).
errors-acceptor.lisp
(file).
trace-acceptor.lisp
(file).
http-errors.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
hunchentoot-errors/hunchentoot-errors.asd
hunchentoot-errors/package.lisp
hunchentoot-errors/errors-acceptor.lisp
hunchentoot-errors/trace-acceptor.lisp
hunchentoot-errors/http-errors.lisp
hunchentoot-errors/hunchentoot-errors.asd
hunchentoot-errors
(system).
hunchentoot-errors/errors-acceptor.lisp
package.lisp
(file).
hunchentoot-errors
(system).
acceptor-log-message
(method).
acceptor-status-message
(method).
errors-acceptor
(class).
accept-format
(function).
acceptor-log-error
(generic function).
debug-requestp
(reader method).
(setf debug-requestp)
(writer method).
debug-sessionp
(reader method).
(setf debug-sessionp)
(writer method).
log-requestp
(reader method).
(setf log-requestp)
(writer method).
log-sessionp
(reader method).
(setf log-sessionp)
(writer method).
print-request
(generic function).
print-session
(generic function).
hunchentoot-errors/trace-acceptor.lisp
errors-acceptor.lisp
(file).
hunchentoot-errors
(system).
*trace-requests*
(special variable).
*trace-session*
(special variable).
acceptor-log-access
(method).
trace-acceptor
(class).
print-request
(generic function).
print-session
(generic function).
hunchentoot-errors/http-errors.lisp
trace-acceptor.lisp
(file).
hunchentoot-errors
(system).
http-error
(function).
Packages are listed by definition order.
hunchentoot-trace
common-lisp
.
hunchentoot
.
*trace-requests*
(special variable).
*trace-session*
(special variable).
trace-acceptor
(class).
print-request
(generic function).
print-session
(generic function).
hunchentoot-errors
common-lisp
.
hunchentoot
.
errors-acceptor
(class).
http-error
(function).
accept-format
(function).
acceptor-log-error
(generic function).
debug-requestp
(generic reader).
(setf debug-requestp)
(generic writer).
debug-sessionp
(generic reader).
(setf debug-sessionp)
(generic writer).
log-requestp
(generic reader).
(setf log-requestp)
(generic writer).
log-sessionp
(generic reader).
(setf log-sessionp)
(generic writer).
print-request
(generic function).
print-session
(generic function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Abort current handler and signal HTTP error HTTP-ERROR.
HTTP-ERROR should be an HTTP status code (integer).
trace-acceptor
) &key return-code) ¶hunchentoot
.
errors-acceptor
) log-level format-string &rest format-arguments) ¶Sends a formatted message to the destination denoted by (ACCEPTOR-MESSAGE-LOG-DESTINATION ACCEPTOR).
FORMAT and ARGS are as in FORMAT.
LOG-LEVEL is a keyword denoting the log level or NIL in which case it is ignored.
hunchentoot
.
errors-acceptor
) http-status-code &key &allow-other-keys) ¶hunchentoot
.
Subclasses of this acceptor augment Hunchentoot error pages and logs with request and session information.
acceptor
.
When enabled, request information is written to the log.
t
:log-request
When enabled, request information is printed in Hunchentoot status error pages.
t
:debug-request
When enabled, session information is written to the log.
t
:log-session
When enabled, session information is printed in Hunchentoot status error pages.
t
:debug-session
acceptor
.
errors-acceptor
) log-level format-string &rest format-arguments) ¶errors-acceptor
)) ¶errors-acceptor
)) ¶When enabled, request information is printed in Hunchentoot status error pages.
errors-acceptor
)) ¶errors-acceptor
)) ¶When enabled, session information is printed in Hunchentoot status error pages.
errors-acceptor
)) ¶errors-acceptor
)) ¶When enabled, request information is written to the log.
errors-acceptor
)) ¶errors-acceptor
)) ¶When enabled, session information is written to the log.
Prints REQUEST to STREAM in FORMAT
Prints REQUEST to STREAM in FORMAT
Prints SESSION to STREAM in FORMAT
Prints SESSION to STREAM in FORMAT
Jump to: | (
A D F G H L M P |
---|
Jump to: | (
A D F G H L M P |
---|
Jump to: | *
D L S |
---|
Jump to: | *
D L S |
---|
Jump to: | C E F H P S T |
---|
Jump to: | C E F H P S T |
---|