servant/servant-client
Alp Mestanogullari f39d57c6b3 add HttpVersion, IsSecure, RemoteHost and Vault combinators with instances for all interpretations (all but the server ones being 'ignore that combinator')
tighter version bounds for network

cleanup

document the new combinators

servant-server: add some tests for HttpVersion, IsSecure, RemoteHost and Vault

update changelogs

address Julian's feedback

remove vault test in servant-server

servant-server tests: -Werror friendly
2015-07-10 14:00:01 +02:00
..
src/Servant add HttpVersion, IsSecure, RemoteHost and Vault combinators with instances for all interpretations (all but the server ones being 'ignore that combinator') 2015-07-10 14:00:01 +02:00
test servant-client: Hide HttpException by wrapping it in SomeException 2015-06-12 21:19:26 +10:00
CHANGELOG.md add HttpVersion, IsSecure, RemoteHost and Vault combinators with instances for all interpretations (all but the server ones being 'ignore that combinator') 2015-07-10 14:00:01 +02:00
default.nix Bump everything to 0.4 2015-05-09 17:28:52 +02:00
docs.sh prepare merge 2015-04-20 11:15:58 +02:00
LICENSE prepare merge 2015-04-20 11:15:58 +02:00
README.md update examples in servant-client. fixes #75 2015-05-14 00:52:37 +02:00
servant-client.cabal Bump to 0.4.1 2015-05-29 16:24:08 +02:00
Setup.hs prepare merge 2015-04-20 11:15:58 +02:00

servant-client

servant

This library lets you automatically derive Haskell functions that let you query each endpoint of a servant webservice.

Example

type MyApi = "books" :> Get '[JSON] [Book] -- GET /books
        :<|> "books" :> ReqBody Book :> Post '[JSON] Book -- POST /books

myApi :: Proxy MyApi
myApi = Proxy

getAllBooks :: EitherT String IO [Book]
postNewBook :: Book -> EitherT String IO Book
-- 'client' allows you to produce operations to query an API from a client.
(getAllBooks :<|> postNewBook) = client myApi host
  where host = BaseUrl Http "localhost" 8080