úÎ!WÆQ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNone7 hoauth2)Authorization Code Grant Error Responses  3https://tools.ietf.org/html/rfc6749#section-4.1.2.1! Implicit Grant Error Responses 3https://tools.ietf.org/html/rfc6749#section-4.2.2.1None7MP hoauth2!type synonym of post body contenthoauth2 Is either t containing an error or u containg a resulthoauth2The gained Access Token. Use Data.Aeson.decode to decode string to  AccessToken. The  refreshToken" is special in some cases, e.g. 2https://developers.google.com/accounts/docs/OAuth2(hoauth2Query Parameter Representation2hoauth2aPrepare the authorization URL. Redirect to this URL asking for user interactive authentication.3hoauth2HPrepare the URL and the request body query for fetching an access token.4hoauth2cPrepare the URL and the request body query for fetching an access token, with optional grant type.5hoauth2jUsing a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.6hoauth2For GET method API.7hoauth2Create   with given access token value.>hoauth2Parse JSON data into 3hoauth2(access code gained via authorization URLhoauth2/access token request URL plus the request body.4hoauth2(access code gained via authorization URLhoauth2 Grant Typehoauth2/access token request URL plus the request body.5hoauth2*refresh token gained via authorization URLhoauth20refresh token request URL plus the request body.6hoauth2Base URIhoauth2Authorized Access Tokenhoauth2Combined Result0  !"#$%&'().-,+*/0123456789:;<0().-,+*%&'"#$ !/01 23456789:;<None7!Thoauth2Token Error Responses /https://tools.ietf.org/html/rfc6749#section-5.2TYWVZXUTYWVZXUNone>XM›`hoauth2>Request OAuth2 Token method: POST authenticate in headerahoauth2LRequest OAuth2 Token method: POST authenticate in both header and bodybhoauth21Request a new AccessToken with the Refresh Token.dhoauth21Conduct post request and return response as JSON.ehoauth2AConduct post request and return response as JSON or Query String.fhoauth2Conduct post request.ghoauth2>Conduct an authorized GET request and return response as JSON.hhoauth2"Conduct an authorized GET request.ihoauth2same to h; but set access token to query parameter rather than headerjhoauth21Conduct POST request and return response as JSON.khoauth2Conduct POST request.lhoauth2HConduct POST request with access token in the request body rather headermhoauth2EConduct POST request with access token in the header and null in bodynhoauth2ZSend an HTTP request including the Authorization header with the specified access token.ohoauth2 Parses a Response to to  OAuth2Resultphoauth2 Parses a OAuth2Result BSL.ByteString into FromJSON a => avhoauth2 Parses a OAuth2Result BSL.ByteString* that contains not JSON but a Query Stringqhoauth2Try p, if failed then parses the OAuth2Result BSL.ByteString+ that contains not JSON but a Query String.rhoauth20Set several header values: + userAgennt : hoauth2 + accept : `application/json` + authorization : Bearer xxxxx if % provided.shoauth2Set the HTTP method to use.`hoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Tokenahoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Tokenbhoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationchoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationdhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as JSONehoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as ByteStringfhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2URLhoauth2 Request body.hoauth2Response as ByteStringghoauth2HTTP connection manager.hoauth2Response as JSONhhoauth2HTTP connection manager.hoauth2Response as ByteStringihoauth2HTTP connection manager.hoauth2Response as ByteStringjhoauth2HTTP connection manager.hoauth2Response as JSONkhoauth2HTTP connection manager.hoauth2Response as ByteStringlhoauth2HTTP connection manager.hoauth2Response as ByteStringmhoauth2HTTP connection manager.hoauth2Response as ByteStringnhoauth2Request to performhoauth2Modify request before sendinghoauth2HTTP connection manager.`abcdefghijklmnopqrs`acbdefghijklmnopqrs OAuth2 client(c) 2012 Haisheng Wu BSD-style (see the file LICENSE)Haisheng Wu <freizl@gmail.com>alphaportableNoneP(D  !"#$%&'()*+,-./0123456789:;<`abcdefghijklmnopqrsw       !""#$$%&&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU VWXYZ[\]^_`abcdefghijkljkmno$hoauth2-1.8.1-AitMOGMZ4tqGPVTbqdw889)Network.OAuth.OAuth2.AuthorizationRequestNetwork.OAuth.OAuth2.Internal!Network.OAuth.OAuth2.TokenRequestNetwork.OAuth.OAuth2.HttpClientNetwork.OAuth.OAuth2ErrorsInvalidRequestUnauthorizedClient AccessDeniedUnsupportedResponseType InvalidScope ServerErrorTemporarilyUnavailable$fToJSONErrors$fFromJSONErrors $fShowErrors $fEqErrors$fGenericErrors QueryParamsPostBody OAuth2Result OAuth2ErrorerrorerrorDescriptionerrorUri OAuth2Token accessToken refreshToken expiresIn tokenTypeidToken ExchangeTokenextokenIdTokenidtoken RefreshTokenrtoken AccessTokenatokenOAuth2 oauthClientIdoauthClientSecretoauthOAuthorizeEndpointoauthAccessTokenEndpoint oauthCallbackparseIntFlexibleparseOAuth2ErrormkDecodeOAuth2ErrorauthorizationUrlaccessTokenUrlaccessTokenUrl'refreshAccessTokenUrlappendAccessTokenaccessTokenToParamappendQueryParams uriToRequest requestToUrihostLensportLens$fToJSONOAuth2Token$fFromJSONOAuth2Token$fToJSONOAuth2Error$fFromJSONOAuth2Error $fShowOAuth2 $fEqOAuth2$fShowAccessToken$fFromJSONAccessToken$fToJSONAccessToken$fShowRefreshToken$fFromJSONRefreshToken$fToJSONRefreshToken $fShowIdToken$fFromJSONIdToken$fToJSONIdToken$fShowExchangeToken$fFromJSONExchangeToken$fToJSONExchangeToken$fShowOAuth2Token$fGenericOAuth2Token$fShowOAuth2Error$fEqOAuth2Error$fGenericOAuth2Error InvalidClient InvalidGrantUnsupportedGrantTypefetchAccessTokenfetchAccessToken2refreshAccessTokenfetchRefreshTokendoJSONPostRequestdoFlexiblePostRequestdoSimplePostRequest authGetJSON authGetBS authGetBS2 authPostJSON authPostBS authPostBS2 authPostBS3 authRequesthandleResponseparseResponseJSONparseResponseFlexibleupdateRequestHeaders setMethodbase Data.EitherLeftRightparseResponseString