The wai-cors package


This package provides an implemenation of Cross-Origin resource sharing (CORS) for Wai that aims to be compliant with

[Skip to ReadMe]


Versions0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.2, 0.2.1, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5
Dependenciesattoparsec (>=, base (==4.*), base-unicode-symbols (>=, bytestring (>=, case-insensitive (>=, charset (>=0.3.7), errors (>=1.4.1), http-types (>=0.8.0), parsers (>=0.11), resourcet (>=0.4), transformers (>=0.3), wai (>=1.4.0) [details]
CopyrightCopyright (c) 2014 AlephCloud Systems, Inc.
AuthorLars Kuhtz <>
MaintainerLars Kuhtz <>
Home page
Bug tracker
Source repositoryhead: git clone
this: git clone 0.2.1)
UploadedSat Jan 24 20:27:51 UTC 2015 by larsk




Maintainers' corner

For package maintainers and hackage trustees

Readme for wai-cors-0.2.1

Build Status

Cross-Origin Resource Sharing (CORS) For Wai

This package provides a Haskell implemenation of CORS for WAI that aims to be compliant with


The file test/server.hs shows how to support simple cross-origin requests (as defined in in a scotty application.

{-# LANGUAGE UnicodeSyntax #-}
{-# LANGUAGE OverloadedStrings #-}

module Main
( main
) where

import Network.Wai.Middleware.Cors
import Web.Scotty

main ∷ IO ()
main = scotty 8080 $ do
    middleware simpleCors
    matchAny  "/" $ text "Success"

The result of following curl command will include the HTTP response header Access-Control-Allow-Origin: *.

curl -i -H 'Origin:' -v

Documentation for more general usage can be found in the module Network.Wai.Middleware.Cors.


Currently there is only basic support to test simple cross-origin request from a browser.

Start server:

cd test
runHaskell server.hs

Open the file test/index.html in a modern web-browser in order to run some simple tests.