The apiary package

[Tags: library, mit]

Simple and type safe web framework that can be automatically generate API documentation.

{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE OverloadedStrings #-}

import Web.Apiary
import Network.Wai.Handler.Warp
import qualified Data.ByteString.Lazy.Char8 as L

main :: IO ()
main = runApiary (run 3000) def $ do
  [capture|/age::Int|] . ([key|name|] =: pLazyByteString) . method GET . action $ do
      (age, name) <- [params|age,name|]
      guard (age >= 18)
      contentType "text/html"
      mapM_ appendLazyBytes ["<h1>Hello, ", name, "!</h1>\n"]
$ curl localhost:3000
404 Page Notfound.
$ curl localhost:3000/20?name=arice
<h1>Hello, arice!</h1>
$ curl localhost:3000/15?name=bob
404 Page Notfound.
$ curl -XPOST localhost:3000/20?name=arice
404 Page Notfound.

more examples: https://github.com/philopon/apiary/blob/v1.4.0/examples/

live demo: http://find-hackage.herokuapp.com/ (source code: https://github.com/philopon/find-hackage)

Properties

Versions0.1.0.0, 0.1.0.1, 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.3.2.0, 0.4.0.0, 0.4.0.1, 0.4.0.2, 0.4.2.0, 0.4.3.0, 0.4.3.1, 0.4.3.2, 0.5.0.0, 0.5.1.0, 0.6.0.0, 0.6.0.1, 0.6.1.0, 0.7.0.0, 0.8.0.0, 0.9.0.0, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.12.6, 0.12.7, 0.12.8, 0.13.0, 0.14.0, 0.14.0.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.17.0, 0.17.1, 0.17.2, 1.0.0, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5 (info)
Change logCHANGELOG.md
Dependenciesbase (>=4.6 && <4.9), blaze-builder (>=0.3 && <0.5), blaze-html (>=0.7 && <0.9), blaze-markup (>=0.6 && <0.8), bytestring (==0.10.*), bytestring-read (>=0.2 && <0.4), case-insensitive (>=1.1 && <1.3), data-default-class (==0.0.*), exceptions (>=0.6 && <0.9), hashable (>=1.1 && <1.3), http-date (==0.0.*), http-types (==0.8.*), mime-types (==0.1.*), monad-control (>=0.3 && <1.1), mtl (>=2.1 && <2.3), process (==1.2.*), stringsearch (==0.3.*), template-haskell (>=2.8 && <2.11), text (>=1.1 && <1.3), time (>=1.4 && <1.6), transformers (>=0.2 && <0.5), transformers-base (==0.4.*), types-compat (==0.1.*), unix-compat (==0.4.*), unordered-containers (==0.2.*), vault (==0.3.*), wai (==3.0.*), wai-extra (==3.0.*), web-routing (==0.6.*) [details]
LicenseMIT
Copyright(c) 2014-2015 Hirotomo Moriwaki
AuthorHirotomoMoriwaki<philopon.dependence@gmail.com>
MaintainerHirotomoMoriwaki<philopon.dependence@gmail.com>
Stabilitystable
CategoryWeb
Home pagehttps://github.com/philopon/apiary
Bug trackerhttps://github.com/philopon/apiary/issues
Source repositoryhead: git clone git://github.com/philopon/apiary.git
UploadedFri Aug 28 12:20:42 UTC 2015 by HirotomoMoriwaki
DistributionsLTSHaskell:1.4.5, NixOS:1.4.5, Stackage:1.4.5
Downloads7261 total (518 in last 30 days)
Votes
1 []
StatusDocs available [build log]
Last success reported on 2015-08-28 [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees