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

[ bsd3, library, servant, web ] [ Propose Tags ] [ Report a vulnerability ]
Versions [RSS] 0.12, 0.13, 0.13.0.1, 0.14, 0.14.1, 0.15, 0.16, 0.17, 0.18, 0.18.1, 0.18.2, 0.18.3, 0.19, 0.20, 0.20.1, 0.20.2 (info)
Change log CHANGELOG.md
Dependencies aeson (>=1.4.1.0 && <3), base (>=4.14 && <4.21), base-compat (>=0.10.5 && <0.15), base64-bytestring (>=1.0.0.1 && <1.3), bytestring (>=0.10.8.1 && <0.13), constraints (>=0.2 && <0.15), containers (>=0.5.7.1 && <0.8), deepseq (>=1.4.2.0 && <1.6), exceptions (>=0.10.0 && <0.11), free (>=5.1 && <5.3), http-media (>=0.7.1.3 && <0.9), http-types (>=0.12.2 && <0.13), network-uri (>=2.6.1.0 && <2.7), safe (>=0.3.17 && <0.4), servant (>=0.20.2), sop-core (>=0.4.0.0 && <0.6), template-haskell (>=2.11.1.0 && <2.23), text (>=1.2.3.0 && <2.2) [details]
Tested with ghc ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.4 || ==9.8.2 || ==9.10.1
License BSD-3-Clause
Copyright 2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
Author Servant Contributors
Maintainer haskell-servant-maintainers@googlegroups.com
Category Servant, Web
Home page http://docs.servant.dev/
Bug tracker http://github.com/haskell-servant/servant/issues
Source repo head: git clone http://github.com/haskell-servant/servant.git
Uploaded by janus at 2024-08-30T02:29:39Z
Distributions Arch:0.20.2, Debian:0.16, Fedora:0.19, LTSHaskell:0.20.2, NixOS:0.20, Stackage:0.20.2, openSUSE:0.20.2
Reverse Dependencies 58 direct, 120 indirect [details]
Downloads 25416 total (274 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-08-30 [all 1 reports]

Readme for servant-client-core-0.20.2

[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.