strive-5.0.4: A client for the Strava V3 API.

Safe HaskellNone
LanguageHaskell2010

Strive.Internal.HTTP

Description

Helpers for dealing with HTTP requests.

Synopsis

Documentation

delete :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) Source #

Perform an HTTP DELETE request.

get :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) Source #

Perform an HTTP GET request.

post :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) Source #

Perform an HTTP POST request.

put :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) Source #

Perform an HTTP PUT request.

buildRequest :: QueryLike q => Method -> Client -> String -> q -> IO Request Source #

Build a request.

performRequest :: Client -> Request -> IO (Response ByteString) Source #

Actually perform an HTTP request.

handleResponse :: FromJSON j => Response ByteString -> Result j Source #

Handle decoding a potentially failed response.

decodeValue :: FromJSON j => Response ByteString -> Either String j Source #

Decode a response body as JSON.