servant-client-core: Core functionality and class for client function generation for servant APIs

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This library provides backend-agnostic generation of client functions. For more information, see the README.


[Skip to Readme]

Properties

Versions 0.12, 0.13, 0.13.0.1, 0.14, 0.14.1, 0.15, 0.15, 0.16, 0.17, 0.18, 0.18.1, 0.18.2, 0.18.3, 0.19, 0.20
Change log CHANGELOG.md
Dependencies aeson (>=1.4.1.0 && <1.5), base (>=4.9 && <4.13), base-compat (>=0.10.5 && <0.11), base64-bytestring (>=1.0.0.1 && <1.1), bytestring (>=0.10.8.1 && <0.11), containers (>=0.5.7.1 && <0.7), deepseq (>=1.4.2.0 && <1.5), exceptions (>=0.10.0 && <0.11), free (>=5.1 && <5.2), generics-sop (>=0.4.0.1 && <0.5), http-api-data (>=0.3.10 && <0.4), http-media (>=0.7.1.3 && <0.8), http-types (>=0.12.2 && <0.13), network-uri (>=2.6.1.0 && <2.7), safe (>=0.3.17 && <0.4), servant (>=0.15 && <0.16), template-haskell (>=2.11.1.0 && <2.15), text (>=1.2.3.0 && <1.3), transformers (>=0.5.2.0 && <0.6) [details]
License BSD-3-Clause
Copyright 2014-2016 Zalora South East Asia Pte Ltd, 2016-2018 Servant Contributors
Author Servant Contributors
Maintainer haskell-servant-maintainers@googlegroups.com
Category Servant, Web
Home page http://haskell-servant.readthedocs.org/
Bug tracker http://github.com/haskell-servant/servant/issues
Source repo head: git clone http://github.com/haskell-servant/servant.git
Uploaded by phadej at 2018-11-12T20:41:18Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for servant-client-core-0.15

[back to package description]

servant-client-core

servant

HTTP-client-agnostic client functions for servant APIs.

This library should mainly be of interest to backend- and combinator-writers.

For backend-writers

If you are creating a new backend, you'll need to:

  1. Define a RunClient instance for your datatype (call it MyMonad)
  2. Define a ClientLike instance. This will look like:
instance ClientLike (MyMonad a) (MyMonad a) where
  mkClient = id
  1. Re-export the module Servant.Client.Core.Reexport so that your end-users can be blissfully unaware of 'servant-client-core', and so each backend-package comes closer to the warm hearth of the drop-in-replacement equivalence class.

For combinator-writers

You'll need to define a new HasClient instance for your combinator. There are plenty of examples to guide you in the HasClient module.