h$;      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None #$8Fhoauth2!type synonym of post body contenthoauth2 Provides in Authorization headerhoauth2Provides in request bodyhoauth2#Provides in request query parameterhoauth2The 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 Representation3hoauth2Parse JSON data into 1  !"'&%$#()*+,-./01!"'&%$# ( )*+,-./0None ? X Uhoauth2Conduct an authorized GET request and return response as JSON. Inject Access Token to Authorization Header.Vhoauth2Conduct an authorized GET request and return response as JSON. Allow to specify how to append AccessToken.Whoauth2Conduct an authorized GET request. Inject Access Token to Authorization Header.Xhoauth2Same to W; but set access token to query parameter rather than headerYhoauth2Conduct an authorized GET request and return response as ByteString. Allow to specify how to append AccessToken.Zhoauth2Conduct POST request and return response as JSON. Inject Access Token to Authorization Header.[hoauth2Conduct POST request and return response as JSON. Allow to specify how to append AccessToken.\hoauth2Conduct POST request. Inject Access Token to http header (Authorization)]hoauth2Conduct POST request. Inject Access Token to both http header (Authorization) and request body.^hoauth2Conduct POST request with access token only in the request body but header._hoauth2Conduct POST request with access token only in the header and not in body`hoauth2Conduct POST request and return response as ByteString. Allow to specify how to append AccessToken. Uhoauth2HTTP connection manager.hoauth2Response as JSONVhoauth2HTTP connection manager.hoauth2Response as JSONWhoauth2HTTP connection manager.hoauth2Response as ByteStringXhoauth2HTTP connection manager.hoauth2Response as ByteStringYhoauth2hoauth2HTTP connection manager.hoauth2Response as ByteStringZhoauth2HTTP connection manager.hoauth2Response as JSON[hoauth2HTTP connection manager.hoauth2Response as ByteString\hoauth2HTTP connection manager.hoauth2Response as ByteString]hoauth2HTTP connection manager.hoauth2Response as ByteString^hoauth2HTTP connection manager.hoauth2Response as ByteString_hoauth2HTTP connection manager.hoauth2Response as ByteString`hoauth2HTTP connection manager.hoauth2Response as ByteString UVWXYZ[\]^_` UWXVYZ\]^_[`None 8ahoauth2)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.1ihoauth2Prepare the authorization URL. Redirect to this URL asking for user interactive authentication. ahgfecbdi ahgfecbdiNone 8 ohoauth2Token Error Responses /https://tools.ietf.org/html/rfc6749#section-5.2vhoauth2Prepare the URL and the request body query for fetching an access token.whoauth2Using a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.yhoauth27Fetch OAuth2 Token with authenticate in request header.OAuth2 spec allows  client_id and  client_secret to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use y or z|hoauth2Fetch a new AccessToken with the Refresh Token with authentication in request header.OAuth2 spec allows  client_id and  client_secret to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use | or }hoauth21Conduct post request and return response as JSON.hoauth2Conduct post request.hoauth2 Parses a Response to to  OAuth2Resulthoauth2Try parseResponseJSON, if failed then parses the OAuth2Result BSL.ByteString+ that contains not JSON but a Query String.hoauth2 Parses a OAuth2Result BSL.ByteString* that contains not JSON but a Query Stringhoauth20Set several header values: + userAgennt : hoauth2( + accept : `application/json` vhoauth2(access code gained via authorization URLhoauth2/access token request URL plus the request body.whoauth2*refresh token gained via authorization URLhoauth20refresh token request URL plus the request body.yhoauth2HTTP connection managerhoauth2 OAuth Datahoauth2 OAuth2 Codehoauth2 Access Tokenzhoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Token{hoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Token|hoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorization}hoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorization~hoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as JSONhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2URLhoauth2 Request body.hoauth2Response as ByteStringotrquspvwxyz{|}~otrquspvwxyz{|}~ OAuth2 client(c) 2012 Haisheng Wu BSD-style (see the file LICENSE)Haisheng Wu BetaportableNone  !"'&%#$()*+,-./0UVWXYZ[\]^_`ivwxyz{|}~ivwxyz{|}~      !!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm`anobpeqrstuvwxyz{|}~ijklm$hoauth2-2.4.0-D3H2H2D9un18t2jhuBxW56Network.OAuth.OAuth2.InternalNetwork.OAuth.OAuth2.HttpClient)Network.OAuth.OAuth2.AuthorizationRequest!Network.OAuth.OAuth2.TokenRequestNetwork.OAuth.OAuth2 QueryParamsPostBodyClientAuthenticationMethodClientSecretBasicClientSecretPostAPIAuthenticationMethodAuthInRequestHeaderAuthInRequestBodyAuthInRequestQuery OAuth2ErrorerrorerrorDescriptionerrorUri OAuth2Token accessToken refreshToken expiresIn tokenTypeidToken ExchangeTokenextokenIdTokenidtoken RefreshTokenrtoken AccessTokenatokenOAuth2oauth2ClientIdoauth2ClientSecretoauth2AuthorizeEndpointoauth2TokenEndpointoauth2RedirectUriparseIntFlexibleparseOAuth2ErrormkDecodeOAuth2ErrordefaultRequestHeadersappendQueryParams uriToRequest requestToUrihostLensportLens$fDefaultOAuth2$fToJSONOAuth2Token$fFromJSONOAuth2Token$fBinaryOAuth2Token$fToJSONOAuth2Error$fFromJSONOAuth2Error$fEqClientAuthenticationMethod$fOrdClientAuthenticationMethod$fEqAPIAuthenticationMethod$fOrdAPIAuthenticationMethod$fShowOAuth2Error$fEqOAuth2Error$fGenericOAuth2Error$fEqOAuth2Token$fShowOAuth2Token$fGenericOAuth2Token$fShowExchangeToken$fFromJSONExchangeToken$fToJSONExchangeToken$fBinaryIdToken $fEqIdToken $fShowIdToken$fFromJSONIdToken$fToJSONIdToken$fBinaryRefreshToken$fEqRefreshToken$fShowRefreshToken$fFromJSONRefreshToken$fToJSONRefreshToken$fBinaryAccessToken$fEqAccessToken$fShowAccessToken$fFromJSONAccessToken$fToJSONAccessToken $fShowOAuth2 $fEqOAuth2 authGetJSONauthGetJSONInternal authGetBS authGetBS2authGetBSInternal authPostJSONauthPostJSONInternal authPostBS authPostBS1 authPostBS2 authPostBS3authPostBSInternalErrorsInvalidRequestUnauthorizedClient AccessDeniedUnsupportedResponseType InvalidScope ServerErrorTemporarilyUnavailableauthorizationUrl$fToJSONErrors$fFromJSONErrors $fShowErrors $fEqErrors$fGenericErrors InvalidClient InvalidGrantUnsupportedGrantTypeaccessTokenUrlrefreshAccessTokenUrlclientSecretPostfetchAccessTokenfetchAccessToken2fetchAccessTokenInternalrefreshAccessTokenrefreshAccessToken2refreshAccessTokenInternaldoJSONPostRequestdoSimplePostRequesthandleOAuth2TokenResponseparseResponseFlexibleparseResponseStringaddDefaultRequestHeaders