servant/servant-client
Alex Mason 6462804f52 Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates
# Conflicts:
#	servant-server/servant-server.cabal
#	servant-server/src/Servant/Server/Internal.hs
#	servant-server/test/Servant/ServerSpec.hs
#	servant/servant.cabal
#	servant/src/Servant/API.hs
2016-09-02 12:53:04 +10:00
..
include less OverlappingInstances noise 2016-01-04 13:09:11 -05:00
src/Servant Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
test Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
CHANGELOG.md Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
docs.sh prepare merge 2015-04-20 11:15:58 +02:00
LICENSE Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
README.md Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
servant-client.cabal Merge branch 'master' of https://github.com/haskell-servant/servant into servant-dates 2016-09-02 12:53:04 +10:00
Setup.hs stylish haskell changes 2015-08-18 00:07:12 +02:00
tinc.yaml Use tinc on travis 2015-11-05 09:32:13 +08: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 :: Manager -> BaseUrl -> ExceptT String IO [Book]
postNewBook :: Book -> Manager -> BaseUrl -> ExceptT String IO Book
-- 'client' allows you to produce operations to query an API from a client.
(getAllBooks :<|> postNewBook) = client myApi