Description
Problem details middleware for WAI.
Description
Problem details middleware for WAI.
It exposes a functions to throw exceptions of type ProblemDetailsException that implements the problem details RFC as specified in https://www.rfc-editor.org/rfc/rfc7807.
README.md
wai-problem-details
Middleware for returning problem details responses as specified in https://www.rfc-editor.org/rfc/rfc7807.
{-# LANGUAGE OverloadedStrings #-}
import qualified Web.Scotty as S
import Network.Wai.Handler.Warp (run)
import Data.Function ((&))
import Data.Default
import Network.Wai.Middleware.ProblemDetails
app :: IO Application
app = S.scottyApp $ do
S.get "/default" $ throwProblemDetails def
S.get "/predefined" $ throwProblemDetails problemDetails400
S.get "/predefined-custom" $ throwProblemDetails (problemDetails404 & setTitle "Ahooy!")
main :: IO ()
main = run 8080 =<< app
License
MIT.