-- | Types and functions for dealing with the API client itself. module Strive.Client where import Network.HTTP.Client.Conduit (Manager, newManager) -- | Strava V3 API client. data Client = Client { client_accessToken :: String , client_httpManager :: Manager } instance Show Client where show client = concat [ "Client {client_accessToken = " , show (client_accessToken client) , "}" ] -- | Build a client with the default HTTP manager. buildClient :: String -> IO Client buildClient token = do manager <- newManager return Client { client_accessToken = token , client_httpManager = manager }