airship: A Webmachine-inspired HTTP library

[ library, mit, web ] [ Propose Tags ]
Versions,,,,,,, 0.5.0, 0.6.0, 0.9.0, 0.9.1, 0.9.2, 0.9.3
Change log
Dependencies attoparsec, base (>=4.7 && <5), base64‑bytestring (==1.0.*), blaze‑builder (>=0.3 && <0.5), bytestring, bytestring‑trie (==0.2.4.*), case‑insensitive, containers, cryptohash (==0.11.*), directory, either (>=4.3 && <4.6), filepath (>=1.3 && <1.5), http‑date, http‑media, http‑types (>=0.8 && <0.10), lifted‑base (==0.2.*), microlens, mime‑types (==0.1.0.*), mmorph (>=1.0 && <1.2), monad‑control (>=1.0), mtl, network, old‑locale, random, text, time, transformers, transformers‑base, unix (==2.7.*), unordered‑containers, wai (>=3.0 && <3.3), wai‑extra (==3.0.*) [details]
License MIT
Author Reid Draper and Patrick Thomson
Maintainer Tim McGilchrist <>,
Category Web
Home page
Bug tracker
Source repo head: git clone
Uploaded by lambda_foo at Mon Nov 13 23:38:13 UTC 2017
Distributions LTSHaskell:0.9.3, NixOS:0.9.3, openSUSE:0.9.3
Downloads 5663 total (62 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-11-13 [all 1 reports]
Hackage Matrix CI

A Webmachine-inspired HTTP library based off ideas from the original Erlang project

A number of examples can be found in illustrating how to build airship based services.

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for airship-0.9.0

[back to package description]


Join the chat at <a href=""></a>

Build Status

Airship is a Haskell library for handling and serving HTTP requests in a RESTful fashion. It is heavily inspired by Webmachine and works with any WAI-compatible web server such as Warp. It aims to be small, fast, and flexible.

How does it work?

Airship resources are represented with a Resource record type. Each field in Resource corresponds to an action taken in the Webmachine decision tree. Airship provides a defaultResource with sensible defaults for each of these actions; you build web services by overriding fields in the default resource with your own.

Routes are declared with a simple monadic syntax:

routes = do
    root                        #> someRootResource
    "account" </> var "name"    #> accountResource

For a simple example that handles HTTP GET and POST requests, please check example/Basic.hs. For a slightly more involved example that generates HTML and manages a pool of resources, please check the blimp repository.

Airship is copyright © 2015 Helium Systems, Inc., and released to the public under the terms of the MIT license.