{-# OPTIONS_GHC -Wno-orphans #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Servant.RateLimit.Client where
import Servant
import Servant.Client
import Servant.RateLimit.Types
instance HasClient m api => HasClient m (RateLimit st p :> api) where
type Client m (RateLimit st p :> api) = Client m api
hoistClientMonad :: Proxy m
-> Proxy (RateLimit st p :> api)
-> (forall x. mon x -> mon' x)
-> Client mon (RateLimit st p :> api)
-> Client mon' (RateLimit st p :> api)
hoistClientMonad Proxy m
mp Proxy (RateLimit st p :> api)
_ = Proxy m
-> Proxy api
-> (forall x. mon x -> mon' x)
-> Client mon api
-> Client mon' api
forall (m :: * -> *) api (mon :: * -> *) (mon' :: * -> *).
HasClient m api =>
Proxy m
-> Proxy api
-> (forall x. mon x -> mon' x)
-> Client mon api
-> Client mon' api
hoistClientMonad Proxy m
mp (Proxy api
forall k (t :: k). Proxy t
Proxy :: Proxy api)
clientWithRoute :: Proxy m
-> Proxy (RateLimit st p :> api)
-> Request
-> Client m (RateLimit st p :> api)
clientWithRoute Proxy m
mp Proxy (RateLimit st p :> api)
_ = Proxy m -> Proxy api -> Request -> Client m api
forall (m :: * -> *) api.
HasClient m api =>
Proxy m -> Proxy api -> Request -> Client m api
clientWithRoute Proxy m
mp (Proxy api
forall k (t :: k). Proxy t
Proxy :: Proxy api)