WAI Request Spec is a declarative validation layer for HTTP
requests. It aims to make error-handling for malformed requests as
easy as taking the happy path.
A brief summary of the core features:
Can specify headers and query params as input sources
Support for parsing ints, floats, text, bytes (with encodings), and bools
A parser combinator interface for chaining together request requirements
Support for Alternatives
Support for optional parameters
Convenient and informative default error messages that let service
consumers know what went wrong
It is built on WAI, so it is compatible with several Haskell
web frameworks. All you need is the ability to access the Request
object, and WAI Request Spec takes care of the rest!