Provides some basic WAI handlers and middleware.
Provides basic WAI handler and middleware functionality:
WAI Testing Framework
Hspec testing facilities and helpers for WAI.
Event Source/Event Stream
Send server events to the client. Compatible with the JavaScript EventSource API.
Accept Override
Override the Accept header in a request. Special handling for the _accept query parameter (which is used throughout WAI override the Accept header).
Add Headers
WAI Middleware for adding arbitrary headers to an HTTP request.
Clean Path
Clean a request path to a canonical form.
Combine Headers
Combine duplicate headers into one.
GZip Compression
Negotiate HTTP payload gzip compression.
Health check endpoint
Add an empty health check endpoint.
HTTP Basic Authentication
WAI Basic Authentication Middleware which uses Authorization header.
JSONP
"JSON with Padding" middleware. Automatic wrapping of JSON responses to convert into JSONP.
Method Override / Post
Allows overriding of the HTTP request method via the _method query string parameter.
Request Logging
Request logging middleware for development and production environments
Request Rewrite
Rewrite request path info based on a custom conversion rules.
Select
Dynamically choose between Middlewares.
Stream Files
Convert ResponseFile type responses into ResponseStream type.
Virtual Host
Redirect incoming requests to a new host based on custom rules.
API docs and the README are available at http://www.stackage.org/package/wai-extra.
wai-extra
The goal here is to provide common features without many dependencies.
Example using Server-Sent Events
There is a small example using Server-Sent Events (SSE) in the ./example
directory.
Run the commands below to start the server on http://localhost:8080
$ stack build .
$ stack exec example