[hunchentoot-devel] Backtrace display + idea for "representations"
Jochen Schmidt
jsc at crispylogics.com
Thu Sep 3 08:30:52 UTC 2009
Hans,
As outlined before - *break-on-signals* is not a good solution. Not
all conditions are errors or useful break points. If we really have to
fallback to ANSI CL means for that purpose, wrapping a handler-bind
like in Andreas' Solution is better - I use something similar in my
code (Actually I do handle all conditions in my handlers now, because
I didn't get hunchentoots error handling to do what I wanted).
Documentation may help, or not; some clear protocols would be
perfect :-)
Hunchentoot evolved really well towards 1.0. I really appreciate the
extensibility one now gets through some clearer protocols (task-
managers, request-/reply-class a. s. o.). I still see some open
problems though. Hunchentoot completely misses the concept of a
"representation" - instead it uses either strings or octet-streams
directly in an ad hoc way. Perhaps it would be a good idea to abstract
this underlying representations using a small set of extensible
representation classes? Something like:
representation
|
/ | \
| | string-representation
| |
| file-representation
|
stream-representation
A handler would then not either return a string or write itself into
the stream one gets from send-headers, but it would generate (or
select) a representation object and hunchentoot handles this
automatically.
ciao,
Jochen
--
Jochen Schmidt
Am 03.09.2009 um 08:45 schrieb Hans Hübner <hans.huebner at gmail.com>:
> We have removed the backtrace support from Hunchentoot because we
> wanted to get rid of all non-essential system dependencies. For
> interactive debugging, the *BREAK-ON-SIGNALS* special variable can
> (should) be used, it can do what the presented acceptor subclass can
> do. If you really need backtraces in your log files, the
> trivial-backtrace [2] library may be useful.
>
> It would be useful to have a section on debugging in the manual.
>
> -Hans
>
> [1] http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stbreak-on-signalsst.html
> [2] http://common-lisp.net/project/trivial-backtrace/
>
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel
More information about the Tbnl-devel
mailing list