wai-extra: Provides some basic WAI handlers and middleware.

[ library, mit, web ] [ Propose Tags ]

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.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
build-example

Build example executable.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0, 0.0.0.1, 0.0.0.2, 0.1.0, 0.1.1, 0.1.2, 0.1.2.1, 0.1.3, 0.1.3.1, 0.2.0, 0.2.1, 0.2.2, 0.2.2.1, 0.2.2.2, 0.2.3, 0.2.4, 0.2.4.1, 0.2.4.2, 0.3.0, 0.3.1, 0.3.2, 0.3.2.1, 0.3.3, 0.4.0, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.1.1, 0.4.1.2, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.5.1, 0.4.5.2, 0.4.6, 1.0.0, 1.0.0.1, 1.1.0, 1.1.0.1, 1.2.0, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.3.0, 1.3.0.1, 1.3.0.2, 1.3.0.3, 1.3.0.4, 1.3.0.5, 1.3.1, 1.3.1.1, 1.3.2, 1.3.2.1, 1.3.2.2, 1.3.2.3, 1.3.2.4, 1.3.3, 1.3.3.1, 1.3.3.2, 1.3.4, 1.3.4.1, 1.3.4.2, 1.3.4.3, 1.3.4.4, 1.3.4.5, 1.3.4.6, 2.0.0, 2.0.0.1, 2.0.1, 2.0.1.1, 2.0.1.2, 2.0.2, 2.0.3, 2.0.3.1, 2.0.3.2, 2.0.3.3, 2.1.0, 2.1.0.1, 2.1.1, 2.1.1.1, 2.1.1.2, 2.1.1.3, 3.0.0, 3.0.0.1, 3.0.1, 3.0.1.1, 3.0.1.2, 3.0.2, 3.0.2.1, 3.0.2.2, 3.0.3, 3.0.3.1, 3.0.3.2, 3.0.4, 3.0.4.1, 3.0.4.2, 3.0.4.3, 3.0.4.4, 3.0.4.5, 3.0.4.6, 3.0.5, 3.0.6, 3.0.6.1, 3.0.7, 3.0.7.1, 3.0.8.0, 3.0.8.1, 3.0.8.2, 3.0.9, 3.0.10, 3.0.10.1, 3.0.11, 3.0.11.1, 3.0.12, 3.0.13, 3.0.13.1, 3.0.14, 3.0.14.1, 3.0.14.3, 3.0.15, 3.0.15.1, 3.0.15.2, 3.0.15.3, 3.0.16.0, 3.0.16.1, 3.0.17, 3.0.18, 3.0.19, 3.0.19.1, 3.0.20.0, 3.0.20.1, 3.0.20.2, 3.0.21.0, 3.0.22.0, 3.0.22.1, 3.0.23.0, 3.0.24.0, 3.0.24.1, 3.0.24.2, 3.0.24.3, 3.0.25, 3.0.26, 3.0.26.1, 3.0.27, 3.0.28, 3.0.29, 3.0.29.1, 3.0.29.2, 3.0.30, 3.0.31, 3.0.32, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.4.1, 3.1.5, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.1.12.1, 3.1.13.0 (info)
Change log ChangeLog.md
Dependencies aeson, ansi-terminal (>=0.4), base (>=4.12 && <5), base64-bytestring, bytestring (>=0.10.4), call-stack, case-insensitive (>=0.2), containers, cookie, data-default-class, directory (>=1.2.7.0), fast-logger (>=2.4.5), http-types (>=0.7), HUnit, iproute (>=1.7.8), network (>=2.6.1.0), resourcet (>=0.4.6 && <1.4), streaming-commons (>=0.2), text (>=0.7), time (>=1.1.4), transformers (>=0.2.2), unix, vault, wai (>=3.2.2.1 && <3.3), wai-logger (>=2.3.7), warp (>=3.3.22), word8 [details]
License MIT
Author Michael Snoyman
Maintainer michael@snoyman.com
Revised Revision 1 made by Bodigrim at 2022-11-01T23:47:27Z
Category Web
Home page http://github.com/yesodweb/wai
Source repo head: git clone git://github.com/yesodweb/wai.git
Uploaded by MichaelSnoyman at 2022-11-01T06:19:31Z
Distributions Arch:3.1.13.0, Debian:3.0.29.2, Fedora:3.1.8, FreeBSD:3.0.10, LTSHaskell:3.1.13.0, NixOS:3.1.12.1, Stackage:3.1.13.0, openSUSE:3.1.8
Executables example
Downloads 239949 total (969 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-11-01 [all 1 reports]

Readme for wai-extra-3.1.13.0

[back to package description]

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