name: apiary version: 2.1.2 synopsis: Simple and type safe web framework that generate web API documentation. description: 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: ). . * Nestable route handling(Apiary Monad; capture, method and more.). . * Type safe route filter. . * Auto generate API documentation(example: ). . more examples: . live demo: (source code: ) license: MIT license-file: LICENSE author: HirotomoMoriwaki maintainer: HirotomoMoriwaki, 韩冬 Homepage: https://github.com/philopon/apiary Bug-reports: https://github.com/philopon/apiary/issues copyright: (c) 2014-2015 Hirotomo Moriwaki category: Web build-type: Simple stability: stable extra-source-files: static/api-documentation.min.js , static/jquery.cookie-1.4.1.min.js , static/api-documentation.min.css , static/jquery-2.1.1.min.js , static/bootstrap.min.css , static/bootstrap.min.js , tests/dalvik-request , CHANGELOG.md cabal-version: >=1.10 library exposed-modules: Web.Apiary Web.Apiary.Develop Web.Apiary.Heroku Control.Monad.Apiary Control.Monad.Apiary.Filter Control.Monad.Apiary.Filter.Capture Control.Monad.Apiary.Action Data.Apiary.Extension Data.Apiary.Param Data.Apiary.Method Data.Apiary.Document Data.Apiary.Document.Html Data.Apiary.Routing Data.Apiary.Routing.Dict other-modules: Web.Apiary.TH Data.Apiary.SProxy Data.Apiary.Document.Internal Data.Apiary.Extension.Internal Data.Apiary.Routing.Dict.Internal Control.Monad.Apiary.Internal Control.Monad.Apiary.Filter.Internal Control.Monad.Apiary.Action.Internal Control.Monad.Apiary.Filter.Internal.Capture.TH build-depends: base >=4.7 && <5.0 , template-haskell >=2.8 && <2.13 , transformers >=0.2 && <0.6 , transformers-base >=0.4 && <0.6 , mtl >=2.1 && <2.3 , monad-control >=0.3 && <1.1 , exceptions >=0.6 && <0.9 , resourcet >=0.4.6 && <1.2 , ghc-prim , primitive , http-types >=0.8 && <0.10 , mime-types >=0.1 && <0.2 , text >=1.1 && <1.3 , bytestring >=0.10 && <0.11 , blaze-builder >=0.3 && <0.5 , blaze-html >=0.7 && <0.9 , blaze-markup >=0.6 && <0.8 , case-insensitive >=1.1 && <1.3 , vault >=0.3 && <0.4 , aeson >=0.8 && <1.3 , data-default-class >=0.0 && <0.1 , unordered-containers >=0.2 && <0.3 , hashable >=1.1 && <1.3 , time >=1.4 && <1.9 , process >=1.2 && <2.0 , unix-compat >=0.4 && <0.5 , http-date >=0.0 && <0.1 , wai >=3.0 && <3.3 , wai-extra >=3.0.15 && <3.1 , stringsearch >=0.3 && <0.4 , bytestring-lexing >=0.5 && <0.6 , hetero-dict >=0.1.1 && <0.1.2 hs-source-dirs: src ghc-options: -Wall ghc-prof-options: -Wall -auto-all default-language: Haskell2010 test-suite tasty main-is: main.hs other-modules: Application , Method type: exitcode-stdio-1.0 build-depends: base >=4.6 && <5.0 , mtl >=2.1 && <2.3 , tasty >=0.10 && <0.12 , tasty-hunit >=0.9 && <0.10 , tasty-quickcheck >=0.8 && <0.9 , apiary , bytestring >=0.10 && <0.11 , http-types >=0.8 && <0.10 , HUnit >=1.2 && <1.4 , wai >=3.0 && <3.3 , wai-extra >=3.0 && <3.1 , directory , aeson >=0.8 && <1.3 hs-source-dirs: tests ghc-options: -Wall -fno-warn-missing-signatures default-language: Haskell2010 source-repository head type: git location: git://github.com/philopon/apiary.git