diff options
author | Julien Dessaux | 2023-07-19 11:56:17 +0200 |
---|---|---|
committer | Julien Dessaux | 2023-07-19 11:56:17 +0200 |
commit | 15a7d5bef97557fc0f8a7b3fe4a68bf84a807daa (patch) | |
tree | dbc19fceb7b4b6d7e7961a784b9da027bb65ff3f /haskell/src/SpaceTraders/APIClient | |
parent | [haskell] Refactored everything with a ReaderT pattern (diff) | |
download | spacetraders-15a7d5bef97557fc0f8a7b3fe4a68bf84a807daa.tar.gz spacetraders-15a7d5bef97557fc0f8a7b3fe4a68bf84a807daa.tar.bz2 spacetraders-15a7d5bef97557fc0f8a7b3fe4a68bf84a807daa.zip |
[haskell] refactoring
Diffstat (limited to 'haskell/src/SpaceTraders/APIClient')
-rw-r--r-- | haskell/src/SpaceTraders/APIClient/Client.hs | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/haskell/src/SpaceTraders/APIClient/Client.hs b/haskell/src/SpaceTraders/APIClient/Client.hs index 402431f..c7b58e0 100644 --- a/haskell/src/SpaceTraders/APIClient/Client.hs +++ b/haskell/src/SpaceTraders/APIClient/Client.hs @@ -7,7 +7,6 @@ module SpaceTraders.APIClient.Client , APIPaginatedResponse , APIResponse , defaultReq - , fromJSONValue , send , sendPaginated , tokenReq @@ -16,9 +15,6 @@ module SpaceTraders.APIClient.Client import Control.Concurrent import Control.Monad.Reader import Data.Aeson -import Data.Aeson.Types -import qualified Data.ByteString as B -import qualified Data.ByteString.Internal as B import qualified Data.Text as T import qualified Data.Text.Encoding as T import Network.HTTP.Simple @@ -27,6 +23,7 @@ import Network.HTTP.Types.Status import SpaceTraders import SpaceTraders.APIClient.Errors import SpaceTraders.APIClient.Pagination +import SpaceTraders.Utils data FromJSON a => APIMessage a = APIMessage { messageData :: a , messagePagination :: Maybe Pagination @@ -49,12 +46,6 @@ defaultReq = setRequestHost "api.spacetraders.io" tokenReq :: T.Text -> Request tokenReq token = setRequestHeader "Authorization" [T.encodeUtf8 $ "Bearer " <> token] defaultReq -fromJSONValue :: FromJSON a => Value -> Either String a -fromJSONValue = parseEither parseJSON - -int2ByteString :: Int -> B.ByteString -int2ByteString = B.pack . map B.c2w . show - send :: (FromJSON a, HasRequest env, MonadIO m, MonadReader env m) => (Request -> Request) -> m (APIResponse a) send requestBuilder = do response <- sendPaginated Nothing requestBuilder |