The apiary package

[ Tags: library, mit, web ] [ Propose Tags ]

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 = server (run 3000) . runApiary def $ do
  [capture|/:Int|] . ("name" =: pLazyByteString) . method GET . action $ \age name -> do
      guard (age >= 18)
      contentType "text/html"
      mapM_ lazyBytes ["<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/v0.17.0/examples/

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

Properties

Versions 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.*), blaze-html (==0.7.*), blaze-markup (==0.6.*), bytestring (==0.10.*), bytestring-lexing (==0.4.*), case-insensitive (>=1.1 && <1.3), conduit (==1.1.*), data-default-class (==0.0.*), exceptions (==0.6.*), hashable (>=1.1 && <1.3), http-types (==0.8.*), mime-types (==0.1.*), monad-control (==0.3.*), mtl (>=2.1 && <2.3), process (==1.2.*), tagged (==0.7.*), 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.*), unordered-containers (==0.2.*), wai (==2.1.* || ==3.0.*), wai-extra (==2.1.* || ==3.0.*) [details]
License MIT
Copyright (c) 2014 Hirotomo Moriwaki
Author HirotomoMoriwaki<philopon.dependence@gmail.com>
Maintainer HirotomoMoriwaki<philopon.dependence@gmail.com>
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 Thu Sep 18 19:34:23 UTC 2014 by HirotomoMoriwaki
Distributions NixOS:2.1.2
Downloads 23673 total (520 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
wai3

use wai-3.0

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees