1007 B
1007 B
servant-client-core
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
3) 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'l need to define a new HasClient
instance for your combinator. There are
plenty of examples to guide you in the
HasClient module.