apiary-2.1.1: apiary.cabal
name: apiary
version: 2.1.1
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: <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://find-hackage.herokuapp.com/api/documentation>).
.
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>)
license: MIT
license-file: LICENSE
author: HirotomoMoriwaki<philopon.dependence@gmail.com>
maintainer: HirotomoMoriwaki<philopon.dependence@gmail.com>, 韩冬<drkoster@qq.com>
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