From caf72faccc04e647c27e1b5eef85c515949d8210 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Thu, 20 Feb 2025 12:29:35 +0100 Subject: consolidate `backend, cli, common` -> `acms` --- backend/lib/ACMS/API/Fetch.hs | 63 ------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 backend/lib/ACMS/API/Fetch.hs (limited to 'backend/lib/ACMS/API/Fetch.hs') 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 -- cgit v1.2.3