aboutsummaryrefslogtreecommitdiffstats
path: root/backend/lib/ACMS/API/Fetch.hs
diff options
context:
space:
mode:
authorLibravatar Alexander Foremny <aforemny@posteo.de>2025-02-20 12:29:35 +0100
committerLibravatar Alexander Foremny <aforemny@posteo.de>2025-02-20 18:36:23 +0100
commitcaf72faccc04e647c27e1b5eef85c515949d8210 (patch)
treeec32dda7b87c12712307d2d101368fed5888d4b9 /backend/lib/ACMS/API/Fetch.hs
parent3c64b52017e7c16da0d017c033c77eee5d7a4340 (diff)
consolidate `backend, cli, common` -> `acms`
Diffstat (limited to 'backend/lib/ACMS/API/Fetch.hs')
-rw-r--r--backend/lib/ACMS/API/Fetch.hs63
1 files changed, 0 insertions, 63 deletions
diff --git a/backend/lib/ACMS/API/Fetch.hs b/backend/lib/ACMS/API/Fetch.hs
deleted file mode 100644
index 84330b1..0000000
--- a/backend/lib/ACMS/API/Fetch.hs
+++ /dev/null
@@ -1,63 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-
-module ACMS.API.Fetch
- ( APIMonad(fetch),
-#ifndef ghcjs_HOST_OS
- Network.HTTP.Simple.Request,
- Network.HTTP.Simple.setRequestMethod,
- Network.HTTP.Simple.setRequestBodyLBS,
-#else
- JavaScript.Web.XMLHttpRequest.Request,
- setRequestMethod,
- setRequestBodyLBS,
-#endif
- )
-where
-
-#ifndef ghcjs_HOST_OS
-import Network.HTTP.Simple
-#else
-import Data.ByteString.Lazy.UTF8 qualified as LB
-import Data.Maybe
-import Data.String
-import JavaScript.Web.XMLHttpRequest
-import Miso.String qualified as J
-import Data.ByteString qualified as B
-#endif
-import Control.Monad.Catch (MonadThrow)
-import Data.ByteString.Lazy.Char8 qualified as LB
-import Miso (JSM)
-
-class (MonadThrow m) => APIMonad m where
- fetch :: Request -> m LB.ByteString
-
-instance APIMonad JSM where
- fetch req = LB.fromStrict . getResponseBody <$> httpBS req
-
-#ifdef ghcjs_HOST_OS
-httpBS :: Request -> JSM (Response B.ByteString)
-httpBS req = xhrByteString req
-
-instance IsString Request where
- fromString uri =
- Request
- { reqMethod = GET,
- reqURI = J.pack uri,
- reqLogin = Nothing,
- reqHeaders = [],
- reqWithCredentials = False,
- reqData = NoData
- }
-
-setRequestMethod :: B.ByteString -> Request -> Request
-setRequestMethod "POST" req = req {reqMethod = POST}
-
-setRequestBodyLBS :: LB.ByteString -> Request -> Request
-setRequestBodyLBS body req = req {reqData = StringData (J.pack (LB.toString body))}
-
-getResponseBody :: Response B.ByteString -> B.ByteString
-getResponseBody = fromMaybe "" . contents
-#else
-instance APIMonad IO where
- fetch req = LB.fromStrict . getResponseBody <$> httpBS req
-#endif