servant/servant-client-core
Matthieu Coudron 73c87bc2bc
bumped cabal-version field (#1498)
* bumped cabal-version field

Cabal supports two types of licenses, native and SPDX, which can be seen here hackage.haskell.org/package/Cabal-3.6.2.0/docs/Distribution-Types-PackageDescription.html#v:licenseRaw

Several packages use BSD-3-Clause as a license, in conjonction with cabal-version: >=1.10 which cabal parses as Right (UnknownLicense "BSD-3").
If I change teh cabal-version to cabal-version: 2.2 , cabal correctly identifdies the license License (ELicense (ELicenseId BSD_3_Clause)).

* changed license from cabal to spdx format

aka BSD3 -> BSD-3-Clause: next cabal may deprecate the old format
2022-01-04 22:06:23 +01:00
..
src/Servant/Client Derive HasClient good response status from Verb status (#1469) 2021-12-09 10:09:18 +01:00
test Fix Request's Show instance (#1492) 2021-12-01 19:16:59 +01:00
CHANGELOG.md Prepare 0.18.3 release (#1430) 2021-06-24 00:38:46 +03:00
LICENSE Changelog and cabal file edits 2018-11-13 09:58:42 +02:00
README.md Review fixes 2017-09-15 09:15:46 -04:00
servant-client-core.cabal bumped cabal-version field (#1498) 2022-01-04 22:06:23 +01:00
Setup.hs stylish-haskell servant-client-core 2018-06-30 22:17:08 +03:00

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.