{-# OPTIONS_HADDOCK hide #-}

module Polysemy.Req
  ( reqToIO,
  )
where

import Network.HTTP.Req
import Polysemy

reqToIO :: forall a r. Member (Embed IO) r => Req a -> Sem r a
reqToIO :: Req a -> Sem r a
reqToIO Req a
r = forall (r :: [(* -> *) -> * -> *]) a.
Member (Embed IO) r =>
IO a -> Sem r a
forall (m :: * -> *) (r :: [(* -> *) -> * -> *]) a.
Member (Embed m) r =>
m a -> Sem r a
embed @IO (IO a -> Sem r a) -> IO a -> Sem r a
forall a b. (a -> b) -> a -> b
$ HttpConfig -> Req a -> IO a
forall (m :: * -> *) a. MonadIO m => HttpConfig -> Req a -> m a
runReq HttpConfig
defaultHttpConfig Req a
r