module LocalPrelude
  ( module Protolude
  , module Formatting
  , module Req
  , module UnliftIOEx

  , MonadUnliftIO
  , decodeUtf8LE
  )
where

import           Control.Monad.IO.Unlift (MonadUnliftIO)
import           Formatting              as Formatting (sformat, shown, stext,
                                                        (%))
import           Network.HTTP.Req        as Req (GET (..),
                                                 MonadHttp (handleHttpException),
                                                 NoReqBody (..), Option,
                                                 POST (..), ReqBodyJson (..),
                                                 Scheme (Https), Url, basicAuth,
                                                 header, https, jsonResponse,
                                                 parseUrlHttps, req, reqBr,
                                                 responseBody, runReq, (/:),
                                                 (/~), (=:))
import           Protolude               hiding (Option, throwIO, try, (%))
import           UnliftIO.Exception      as UnliftIOEx (throwIO, throwString,
                                                        try)


decodeUtf8LE :: ByteString -> Text
decodeUtf8LE = decodeUtf8With lenientDecode