[tbnl-devel] Handling HTTP errors

Edi Weitz edi at agharta.de
Tue Aug 3 05:34:48 UTC 2004


On Sat, 31 Jul 2004 02:10:11 +0200, Stefan Scholl <stesch at no-spoon.de> wrote:

> Function send-output in modlisp.lisp handles the response for
> different return codes. E. g. there's a "The requested URL ~A was
> not found on this server." for the 404 (+http-not-found+).
>
> How about letting the user change this behavior?
>
> One could explain the error to the user. Maybe in another language.
>
> Or think of all the funny 404 games. Remember the SGI babies?

Like so? <http://weitz.de/not-there>

:)

> There could be different approaches:
>
> * Simple hash
>   A hash with error code as key and handler as value.
>
>   + Easy to implement
>   + Can handle all errors (thrown by handlers _and_ when no
>     dispatcher is found)
>   - Not very flexible. Just checks for the code and not for
>     any request data.
>
> * Error dispatcher
>   Like the normal dispatcher, but checking for the right error
>   output handler.
>
>   + Can handle all errors (thrown by handlers _and_ when no
>     dispatcher is found)
>   + Flexible. Can check the code _and_ request data.
>   - A bit big. The same effort like handling normal requests.
>
> * Handler outputs itself and signals that
>   A handler wants to return a 404. It constructs the output
>   string and signals the fact that there's no need for TBNL to
>   build the HTML for the output.
>
>   + Easy to implement(? clean?)
>   + Flexible
>   - Can't handle all errors. (No handler found? Then the code
>     won't be executed.)

I agree that this would generally be a good idea. I'm not sure yet
which of the above-mentioned alternatives I like most or if there's
another one that would even be better.

Cheers,
Edi.




More information about the Tbnl-devel mailing list