AWS SDK for C++  0.12.9
AWS SDK for C++
Public Member Functions | Protected Member Functions | List of all members
Aws::Client::AWSClient Class Referenceabstract

#include <AWSClient.h>

Inheritance diagram for Aws::Client::AWSClient:
Aws::Client::AWSJsonClient Aws::Client::AWSXMLClient Aws::ACM::ACMClient Aws::APIGateway::APIGatewayClient Aws::ApplicationAutoScaling::ApplicationAutoScalingClient Aws::CloudHSM::CloudHSMClient Aws::CloudSearchDomain::CloudSearchDomainClient Aws::CloudTrail::CloudTrailClient Aws::CloudWatchEvents::CloudWatchEventsClient Aws::CloudWatchLogs::CloudWatchLogsClient Aws::CodeCommit::CodeCommitClient Aws::CodeDeploy::CodeDeployClient Aws::CodePipeline::CodePipelineClient Aws::CognitoIdentity::CognitoIdentityClient Aws::CognitoIdentityProvider::CognitoIdentityProviderClient Aws::CognitoSync::CognitoSyncClient Aws::ConfigService::ConfigServiceClient Aws::DatabaseMigrationService::DatabaseMigrationServiceClient Aws::DataPipeline::DataPipelineClient Aws::DeviceFarm::DeviceFarmClient Aws::DirectConnect::DirectConnectClient Aws::DirectoryService::DirectoryServiceClient Aws::DynamoDB::DynamoDBClient Aws::ECR::ECRClient Aws::ECS::ECSClient Aws::EFS::EFSClient Aws::ElasticsearchService::ElasticsearchServiceClient Aws::ElasticTranscoder::ElasticTranscoderClient Aws::EMR::EMRClient Aws::Firehose::FirehoseClient Aws::GameLift::GameLiftClient Aws::Glacier::GlacierClient Aws::Inspector::InspectorClient Aws::IoT::IoTClient Aws::Kinesis::KinesisClient Aws::KMS::KMSClient Aws::Lambda::LambdaClient Aws::MachineLearning::MachineLearningClient Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsClient Aws::MarketplaceMetering::MarketplaceMeteringClient Aws::MobileAnalytics::MobileAnalyticsClient Aws::OpsWorks::OpsWorksClient Aws::Route53Domains::Route53DomainsClient Aws::SSM::SSMClient Aws::StorageGateway::StorageGatewayClient Aws::Support::SupportClient Aws::SWF::SWFClient Aws::WAF::WAFClient Aws::WorkSpaces::WorkSpacesClient Aws::AutoScaling::AutoScalingClient Aws::CloudFormation::CloudFormationClient Aws::CloudFront::CloudFrontClient Aws::CloudSearch::CloudSearchClient Aws::CloudWatch::CloudWatchClient Aws::EC2::EC2Client Aws::ElastiCache::ElastiCacheClient Aws::ElasticBeanstalk::ElasticBeanstalkClient Aws::ElasticLoadBalancing::ElasticLoadBalancingClient Aws::IAM::IAMClient Aws::ImportExport::ImportExportClient Aws::RDS::RDSClient Aws::Redshift::RedshiftClient Aws::Route53::Route53Client Aws::S3::S3Client Aws::SES::SESClient Aws::SimpleDB::SimpleDBClient Aws::SNS::SNSClient Aws::SQS::SQSClient Aws::STS::STSClient

Public Member Functions

 AWSClient (const Aws::Client::ClientConfiguration &configuration, const std::shared_ptr< Aws::Client::AWSAuthSigner > &signer, const std::shared_ptr< AWSErrorMarshaller > &errorMarshaller)
 
virtual ~AWSClient ()
 
Aws::String GeneratePresignedUrl (Aws::Http::URI &uri, Aws::Http::HttpMethod method, long long expirationInSeconds=0)
 
void DisableRequestProcessing ()
 
void EnableRequestProcessing ()
 

Protected Member Functions

HttpResponseOutcome AttemptExhaustively (const Aws::String &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod httpMethod) const
 
HttpResponseOutcome AttemptExhaustively (const Aws::String &uri, Http::HttpMethod httpMethod) const
 
HttpResponseOutcome AttemptOneRequest (const Aws::String &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod httpMethod) const
 
HttpResponseOutcome AttemptOneRequest (const Aws::String &uri, Http::HttpMethod httpMethod) const
 
StreamOutcome MakeRequestWithUnparsedResponse (const Aws::String &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod method=Http::HttpMethod::HTTP_POST) const
 
virtual AWSError< CoreErrors > BuildAWSError (const std::shared_ptr< Aws::Http::HttpResponse > &response) const =0
 
virtual void BuildHttpRequest (const Aws::AmazonWebServiceRequest &request, const std::shared_ptr< Aws::Http::HttpRequest > &httpRequest) const
 
const std::shared_ptr< AWSErrorMarshaller > & GetErrorMarshaller () const
 

Detailed Description

Abstract AWS Client. Contains most of the functionality necessary to build an http request, get it signed, and send it accross the wire.

Definition at line 84 of file AWSClient.h.

Constructor & Destructor Documentation

Aws::Client::AWSClient::AWSClient ( const Aws::Client::ClientConfiguration configuration,
const std::shared_ptr< Aws::Client::AWSAuthSigner > &  signer,
const std::shared_ptr< AWSErrorMarshaller > &  errorMarshaller 
)

configuration will be used for http client settings, retry strategy, throttles, and signing information. supplied signer will be used for all requests. errorMarshaller tells the client how to convert error payloads into AWSError objects.

virtual Aws::Client::AWSClient::~AWSClient ( )
virtual

Member Function Documentation

HttpResponseOutcome Aws::Client::AWSClient::AttemptExhaustively ( const Aws::String uri,
const Aws::AmazonWebServiceRequest request,
Http::HttpMethod  httpMethod 
) const
protected

Calls AttemptOnRequest until it either, succeeds, runs out of retries from the retry strategy, or encounters and error that is not retryable.

HttpResponseOutcome Aws::Client::AWSClient::AttemptExhaustively ( const Aws::String uri,
Http::HttpMethod  httpMethod 
) const
protected

Calls AttemptOnRequest until it either, succeeds, runs out of retries from the retry strategy, or encounters and error that is not retryable. This method is for payloadless requests e.g. GET, DELETE, HEAD

HttpResponseOutcome Aws::Client::AWSClient::AttemptOneRequest ( const Aws::String uri,
const Aws::AmazonWebServiceRequest request,
Http::HttpMethod  httpMethod 
) const
protected

Constructs and Http Request from the uri and AmazonWebServiceRequest object. Signs the request, sends it accross the wire then reports the http response.

HttpResponseOutcome Aws::Client::AWSClient::AttemptOneRequest ( const Aws::String uri,
Http::HttpMethod  httpMethod 
) const
protected

Constructs and Http Request from the uri and AmazonWebServiceRequest object. Signs the request, sends it accross the wire then reports the http response. This method is for payloadless requests e.g. GET, DELETE, HEAD

virtual AWSError<CoreErrors> Aws::Client::AWSClient::BuildAWSError ( const std::shared_ptr< Aws::Http::HttpResponse > &  response) const
protectedpure virtual

Abstract. Subclassing clients should override this to tell the client how to marshall error payloads

Implemented in Aws::Client::AWSXMLClient, and Aws::Client::AWSJsonClient.

virtual void Aws::Client::AWSClient::BuildHttpRequest ( const Aws::AmazonWebServiceRequest request,
const std::shared_ptr< Aws::Http::HttpRequest > &  httpRequest 
) const
protectedvirtual

Transforms the AmazonWebServicesResult object into an HttpRequest.

void Aws::Client::AWSClient::DisableRequestProcessing ( )

Stop all requests immediately. In flight requests will likely fail.

void Aws::Client::AWSClient::EnableRequestProcessing ( )

Enable/ReEnable requests.

Aws::String Aws::Client::AWSClient::GeneratePresignedUrl ( Aws::Http::URI uri,
Aws::Http::HttpMethod  method,
long long  expirationInSeconds = 0 
)

Generates a signed Uri using the injected signer. for the supplied uri and http method. expirationInSecodns defaults to 0 which is the default 7 days.

const std::shared_ptr<AWSErrorMarshaller>& Aws::Client::AWSClient::GetErrorMarshaller ( ) const
inlineprotected

Gets the underlying ErrorMarshaller for subclasses to use.

Definition at line 166 of file AWSClient.h.

StreamOutcome Aws::Client::AWSClient::MakeRequestWithUnparsedResponse ( const Aws::String uri,
const Aws::AmazonWebServiceRequest request,
Http::HttpMethod  method = Http::HttpMethod::HTTP_POST 
) const
protected

This is used for structureless response payloads (file streams, binary data etc...). It calls AttemptExhaustively, but upon return transfers ownership of the underlying stream for the http response to the caller.


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