diff --git a/acceptor.lisp b/acceptor.lisp index 4d076a2..a4243ee 100644 --- a/acceptor.lisp +++ b/acceptor.lisp @@ -667,10 +667,19 @@ handler." (when *headers-sent* (setq *finish-processing-socket* t)) (throw 'handler-done - (values nil cond (get-backtrace)))))) + (values nil cond (get-backtrace-for-acceptor *acceptor*)))))) (with-debugger (acceptor-dispatch-request *acceptor* *request*)))) +(defgeneric get-backtrace-for-acceptor (acceptor) + (:documentation + "A method that allows for overriding how the stack trace is +displayed or logged. The default stacktrace might be verbose on some +Lisps, which might write sensitive information, such as passwords.")) + +(defmethod get-backtrace-for-acceptor (acceptor) + (get-backtrace)) + (defgeneric acceptor-status-message (acceptor http-status-code &key &allow-other-keys) (:documentation "This function is called after the request's handler has been