wai-cors: CORS for WAI

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This package provides an implemenation of Cross-Origin resource sharing (CORS) for Wai that aims to be compliant with http://www.w3.org/TR/cors.

[Skip to Readme]


Versions 0.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, 0.2.6, 0.2.7
Change log CHANGELOG.md
Dependencies attoparsec (>=, base (>=4 && <5), 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]
License MIT
Copyright Copyright (c) 2014 AlephCloud Systems, Inc.
Author Lars Kuhtz <lars@alephcloud.com>
Maintainer Lars Kuhtz <lars@alephcloud.com>
Category Web
Home page https://github.com/alephcloud/wai-cors
Bug tracker https://github.com/alephcloud/wai-cors/issues
Source repo head: git clone https://github.com/alephcloud/wai-cors
this: git clone https://github.com/alephcloud/wai-cors(tag 0.2.1)
Uploaded by larsk at 2015-01-24T20:27:51Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for wai-cors-0.2.1

[back to package description]

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 http://www.w3.org/TR/cors.


The file test/server.hs shows how to support simple cross-origin requests (as defined in http://www.w3.org/TR/cors) 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.