clack-errors

2019-08-13

Error page middleware for Clack.

Upstream URL

github.com/eudoxia0/clack-errors

Author

Fernando Borretti

License

LLGPL
README

clack-errors

Build Status Quicklisp

Development screenshot Production screenshot

A clone of better_errors for Clack.

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.

Usage

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")))

License

Copyright (c) 2013–2019 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the LLGPL License.

Dependencies (10)

  • clack
  • cl-markup
  • closer-mop
  • cl-ppcre
  • djula
  • drakma
  • fiveam
  • hunchentoot
  • local-time
  • trivial-backtrace

Dependents (0)

    • GitHub
    • Quicklisp