wai-middleware-catch-0.3.1: Wai error catching middleware

Network.Wai.Middleware.Catch

Contents

Description

Exception handling for Wai and Warp.

By default Warp not handles exceptions well. It just log them to console. This package - an attempt to solve the problem.

The only drawback stems from the basic advantages of Haskell - laziness. All errors within Wai ResponseBuilder will not be caught. Thus, the following code will not work:

 ... return $ responseLBS undefined ...

To ensure catch all errors, you need to consume all data before feeding the builder.

Synopsis

Middleware

protectSource

Arguments

:: [ResponseHandler]

Wrapped handlers. See mkHandler.

-> Middleware 

Protect Middleware chain from exceptions. This acts like catches, but uses own handler type for simplicity.

Handlers

data ResponseHandler Source

Handler wrapper. For polymorphic exceptions.

Constructors

forall e . Exception e => ResponseHandler (e -> Application) 

mkHandlerSource

Arguments

:: forall e . Exception e 
=> (e -> Application) 
-> ResponseHandler 

Helper for make RequestHandler

 protect [mkHandler myHandler] $ ...

defHandler :: ResponseHandlerSource

Default handler.