This is the hunchentoot-errors Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri Sep 15 05:21:57 2023 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).
hunchentoot-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/hunchentoot-errors.lisp
hunchentoot-errors/hunchentoot-errors.asd
hunchentoot-errors
(system).
hunchentoot-errors/hunchentoot-errors.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).
Packages are listed by definition order.
hunchentoot-errors
common-lisp
.
hunchentoot
.
errors-acceptor
(class).
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.
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
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 SESSION to STREAM in FORMAT
Jump to: | (
A D F G L M P |
---|
Jump to: | (
A D F G L M P |
---|
Jump to: | D L S |
---|
Jump to: | D L S |
---|
Jump to: | C E F H P S |
---|
Jump to: | C E F H P S |
---|