{-# LANGUAGE CPP #-}
module Network.OAuth.OAuth2.Compat
( OAuth2(..)
, authorizationUrl
, fetchAccessToken
, fetchAccessToken2
, module Network.OAuth.OAuth2
) where
import Network.HTTP.Conduit (Manager)
import Network.OAuth.OAuth2 hiding
(OAuth2(..), authorizationUrl, fetchAccessToken, fetchAccessToken2)
import qualified Network.OAuth.OAuth2 as OAuth2
import Network.OAuth.OAuth2.TokenRequest (Errors)
import URI.ByteString
#if MIN_VERSION_hoauth2(2,0,0)
import Network.OAuth.OAuth2 (OAuth2(..))
getOAuth2 :: OAuth2 -> OAuth2
getOAuth2 :: OAuth2 -> OAuth2
getOAuth2 = OAuth2 -> OAuth2
forall a. a -> a
id
#else
import Data.Text (Text)
data OAuth2 = OAuth2
{ oauth2ClientId :: Text
, oauth2ClientSecret :: Maybe Text
, oauth2AuthorizeEndpoint :: URIRef Absolute
, oauth2TokenEndpoint :: URIRef Absolute
, oauth2RedirectUri :: Maybe (URIRef Absolute)
}
getOAuth2 :: OAuth2 -> OAuth2.OAuth2
getOAuth2 o = OAuth2.OAuth2
{ OAuth2.oauthClientId = oauth2ClientId o
, OAuth2.oauthClientSecret = oauth2ClientSecret o
, OAuth2.oauthOAuthorizeEndpoint = oauth2AuthorizeEndpoint o
, OAuth2.oauthAccessTokenEndpoint = oauth2TokenEndpoint o
, OAuth2.oauthCallback = oauth2RedirectUri o
}
#endif
authorizationUrl :: OAuth2 -> URI
authorizationUrl :: OAuth2 -> URI
authorizationUrl = OAuth2 -> URI
OAuth2.authorizationUrl (OAuth2 -> URI) -> (OAuth2 -> OAuth2) -> OAuth2 -> URI
forall b c a. (b -> c) -> (a -> b) -> a -> c
. OAuth2 -> OAuth2
getOAuth2
fetchAccessToken
:: Manager
-> OAuth2
-> ExchangeToken
-> IO (OAuth2Result Errors OAuth2Token)
fetchAccessToken :: Manager
-> OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token)
fetchAccessToken Manager
m = Manager
-> OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token)
OAuth2.fetchAccessToken Manager
m (OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token))
-> (OAuth2 -> OAuth2)
-> OAuth2
-> ExchangeToken
-> IO (OAuth2Result Errors OAuth2Token)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. OAuth2 -> OAuth2
getOAuth2
fetchAccessToken2
:: Manager
-> OAuth2
-> ExchangeToken
-> IO (OAuth2Result Errors OAuth2Token)
fetchAccessToken2 :: Manager
-> OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token)
fetchAccessToken2 Manager
m = Manager
-> OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token)
OAuth2.fetchAccessToken2 Manager
m (OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token))
-> (OAuth2 -> OAuth2)
-> OAuth2
-> ExchangeToken
-> IO (OAuth2Result Errors OAuth2Token)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. OAuth2 -> OAuth2
getOAuth2