@hackage / servant-client-core

Core functionality and class for client function generation for servant APIs

Latest0.20.3.0

About

Metadata

  • Last updated , by hecate
  • License BSD-3-Clause
  • Categories Web Development
  • Maintained by: haskell-servant-maintainers@googlegroups.com

  • Lottery factor: 6

Links

Installation

Tested Compilers

  1. 9.12.1
  2. 9.10.1
  3. 9.8.4
  4. 9.6.6
  5. 9.4.8
  6. 9.2.8

Readme

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.