belka-0.8: library/Belka/IO.hs
module Belka.IO
(
C.TransportError(..),
interact,
interactUsingNewManager,
interactUsingGlobalManager,
)
where
import Belka.Prelude hiding (interact)
import qualified Network.HTTP.Client as A
import qualified Network.HTTP.Client.TLS as B
import qualified Belka.TransportError as C
import qualified Belka.Interact as D
import qualified Potoki.IO as E
interact :: A.Manager -> D.Interact a -> IO (Either Text (Either C.TransportError a))
interact manager (D.Interact interactIO) =
runReaderT (runExceptT (runExceptT interactIO)) manager
interactUsingNewManager :: D.Interact a -> IO (Either Text (Either C.TransportError a))
interactUsingNewManager interact_ =
do
manager <- B.newTlsManager
interact manager interact_
interactUsingGlobalManager :: D.Interact a -> IO (Either Text (Either C.TransportError a))
interactUsingGlobalManager interact_ =
do
manager <- B.getGlobalManager
interact manager interact_