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

Maintainer's Corner

Package maintainers

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, 3.1.14 (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.4 && <3.3), wai-logger (>=2.3.7), warp (>=3.3.22), word8 [details]
License MIT
Author Michael Snoyman
Maintainer michael@snoyman.com
Category Web
Home page http://github.com/yesodweb/wai
Source repo head: git clone git://github.com/yesodweb/wai.git
Uploaded by KazuYamamoto at 2024-01-12T06:29:36Z
Distributions Arch:3.1.14, Debian:3.0.29.2, Fedora:3.1.13.0, FreeBSD:3.0.10, LTSHaskell:3.1.14, NixOS:3.1.14, Stackage:3.1.14, openSUSE:3.1.14
Reverse Dependencies 129 direct, 3417 indirect [details]
Executables example
Downloads 248373 total (724 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-01-12 [all 1 reports]

Readme for wai-extra-3.1.14

[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