apiary: Simple and type safe web framework that can be automatically generate API documentation.
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.
High performance(benchmark: https://github.com/philopon/apiary-benchmark).
Nestable route handling(Apiary Monad; capture, method and more.).
Type safe route filter.
Auto generate API documentation(example: http://best-haskell.herokuapp.com/api/documentation).
more examples: https://github.com/philopon/apiary/blob/v1.2.0/examples/
live demo: http://best-haskell.herokuapp.com/ (source code: https://github.com/philopon/best-haskell)
Modules
[Index]
Downloads
- apiary-1.2.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.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, 2.0.0, 2.0.1, 2.0.1.1, 2.0.2, 2.1.0, 2.1.1, 2.1.2 (info) |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.6 && <4.8), blaze-builder (>=0.3 && <0.4), blaze-html (>=0.7 && <0.8), blaze-markup (>=0.6 && <0.7), bytestring (>=0.10 && <0.11), bytestring-lexing (>=0.4 && <0.5), case-insensitive (>=1.1 && <1.3), data-default-class (>=0.0 && <0.1), exceptions (>=0.6 && <0.7), hashable (>=1.1 && <1.3), http-date (>=0.0 && <0.1), http-types (>=0.8 && <0.9), mime-types (>=0.1 && <0.2), monad-control (>=0.3 && <0.4), mtl (>=2.1 && <2.3), process (>=1.2 && <1.3), template-haskell (>=2.8 && <2.10), text (>=1.1 && <1.3), time (>=1.4 && <1.6), transformers (>=0.2 && <0.5), transformers-base (>=0.4 && <0.5), unix-compat (>=0.4 && <0.5), unordered-containers (>=0.2 && <0.3), vault (>=0.3 && <0.4), wai (>=3.0 && <3.1), wai-extra (>=3.0 && <3.1) [details] |
License | MIT |
Copyright | (c) 2014 Hirotomo Moriwaki |
Author | HirotomoMoriwaki<philopon.dependence@gmail.com> |
Maintainer | HirotomoMoriwaki<philopon.dependence@gmail.com> |
Revised | Revision 1 made by HirotomoMoriwaki at 2014-12-04T19:17:09Z |
Category | Web |
Home page | https://github.com/philopon/apiary |
Bug tracker | https://github.com/philopon/apiary/issues |
Source repo | head: git clone git://github.com/philopon/apiary.git |
Uploaded | by HirotomoMoriwaki at 2014-12-04T19:10:02Z |
Distributions | |
Reverse Dependencies | 15 direct, 0 indirect [details] |
Downloads | 57323 total (136 in the last 30 days) |
Rating | 2.5 (votes: 3) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |