By default, when Clack throws an exception when rendering a page, the server waits for the response until it times out while the exception waits in the REPL. This isn't very useful. So now there's this.
(clack:clackup (funcall clack-errors:*clack-error-middleware* *my-clack-app* :debug t) :port 8000)))
will wrap your Clack up in the clack-errors middleware, start the server and return a handler object.
By default, the middleware will show all information. In a production environment, you'll want to initialize this with the
:debug parameter set to NIL.
Using a Custom Error Page
The middleware can be initialized with the
:fn slot set to a lambda that takes a condition as its argument and returns the HTML string to return to the client.
(clack:clackup (funcall clack-errors:*clack-error-middleware* *app* :fn (lambda (condition) "500 Internal Server Error")))
Copyright (c) 2013-2016 Fernando Borretti (email@example.com)
Licensed under the LLGPL License.
- Fernando Borretti