| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Nero.Application
Documentation
Arguments
| :: Target a | |
| => Matcher a | |
| -> (a -> Response) | What to respond upon matching. |
| -> Request | |
| -> Maybe Response |
Redirect with slash appended URL if only a trailing slash is needed for successful matching, otherwise it responds normally.
>>>let mkRequest p = dummyRequest & host .~ "example.com" & path .~ p>>>let respond name = ok $ "<h1>Hello " <> name <> "</h1>">>>let app = slashRedirect (match $ "/hello/" <> text <> "/") respond
>>>app (mkRequest "/hello/there") <&> statusJust "301 Moved Permanently">>>app (mkRequest "/hello/there") >>= preview locationJust "http://example.com/hello/there/"
>>>app (mkRequest "/hello/there/") <&> statusJust "200 OK">>>app (mkRequest "/hello/there/") <&> bodyJust "<h1>Hello there</h1>"
>>>app $ mkRequest "/bye/"Nothing