10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::oauth::DefaultOAuthRefreshRequest Class Reference

#include <DefaultOAuthRefreshRequest.h>

Detailed Description

Default implementation tenduke::oauth::OAuthRefreshRequest.

Inheritance diagram for tenduke::oauth::DefaultOAuthRefreshRequest:
tenduke::oauth::OAuthRefreshRequest

Public Member Functions

 DefaultOAuthRefreshRequest (const std::shared_ptr< const tenduke::oauth::OAuthState > &state, const std::shared_ptr< const tenduke::oauth::OAuthConfiguration > &config, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const tenduke::json::JSONParser > &jsonParser, const std::shared_ptr< tenduke::time::Clock > &clock)
 Constructs new instance.
 
std::unique_ptr< tenduke::oauth::OAuthStateexecute () const override
 Executes the refresh request.
 

Protected Member Functions

virtual std::unique_ptr< tenduke::oauth::OAuthTokenRequestcreateTokenRequest () const
 Creates the token request.
 
virtual std::map< std::string, std::string > buildRequestParameters () const
 Builds request parameters.
 

Constructor & Destructor Documentation

◆ DefaultOAuthRefreshRequest()

tenduke::oauth::DefaultOAuthRefreshRequest::DefaultOAuthRefreshRequest ( const std::shared_ptr< const tenduke::oauth::OAuthState > &  state,
const std::shared_ptr< const tenduke::oauth::OAuthConfiguration > &  config,
const std::shared_ptr< const tenduke::http::HTTPClient > &  httpClient,
const std::shared_ptr< const tenduke::json::JSONParser > &  jsonParser,
const std::shared_ptr< tenduke::time::Clock > &  clock 
)

Constructs new instance.

Parameters
statestate to refresh
configOAuth configuration
httpClient-
jsonParserto parse the response
clockto generate "expires-at" from "expires-in"

Member Function Documentation

◆ buildRequestParameters()

std::map< std::string, std::string > tenduke::oauth::DefaultOAuthRefreshRequest::buildRequestParameters ( ) const
protectedvirtual

Builds request parameters.

Returns
-

◆ createTokenRequest()

std::unique_ptr<::OAuthTokenRequest > tenduke::oauth::DefaultOAuthRefreshRequest::createTokenRequest ( ) const
protectedvirtual

Creates the token request.

Returns
-

◆ execute()

std::unique_ptr<::OAuthState > tenduke::oauth::DefaultOAuthRefreshRequest::execute ( ) const
overridevirtual

Executes the refresh request.

The call is synchronous.

Returns
the refreshed OAuth-state
Exceptions
std::nested_exceptionwhen the there is some nested cause
tenduke::http::HTTPException(or subclasses of it) when the server responds with HTTP error status code which does not indicate OAuth-error, e.g. 500 (internal server error) or 404 (not found = wrong endpoint configured)
tenduke::json::JSONParsingExceptionwhen server response is not valid JSON
tenduke::oauth::OAuthExceptionwhen the server response is not what we expected, e.g.
  • problems with the redirect-URI (missing or invalid "state", missing "code")
  • The token response does not contain access_token
  • The token response payload is not JSON-object
tenduke::oauth::OAuthServerErrorwhen the server responds with an error
tenduke::net::NetworkingException(or subclasses of it) when networking error occurred, e.g.

Implements tenduke::oauth::OAuthRefreshRequest.


The documentation for this class was generated from the following files: