S3Request Class

(QtAws::S3::S3Request)

The S3Request class provides an interface for S3 requests. More...

Header: #include <S3Request>
Inherits: QtAws::Core::AwsAbstractRequest
Inherited By:

QtAws::S3::AbortMultipartUploadRequest, QtAws::S3::CompleteMultipartUploadRequest, QtAws::S3::CopyObjectRequest, QtAws::S3::CreateBucketRequest, QtAws::S3::CreateMultipartUploadRequest, QtAws::S3::DeleteBucketAnalyticsConfigurationRequest, QtAws::S3::DeleteBucketCorsRequest, QtAws::S3::DeleteBucketEncryptionRequest, QtAws::S3::DeleteBucketInventoryConfigurationRequest, QtAws::S3::DeleteBucketLifecycleRequest, QtAws::S3::DeleteBucketMetricsConfigurationRequest, QtAws::S3::DeleteBucketPolicyRequest, QtAws::S3::DeleteBucketReplicationRequest, QtAws::S3::DeleteBucketRequest, QtAws::S3::DeleteBucketTaggingRequest, QtAws::S3::DeleteBucketWebsiteRequest, QtAws::S3::DeleteObjectRequest, QtAws::S3::DeleteObjectsRequest, QtAws::S3::DeleteObjectTaggingRequest, QtAws::S3::GetBucketAccelerateConfigurationRequest, QtAws::S3::GetBucketAclRequest, QtAws::S3::GetBucketAnalyticsConfigurationRequest, QtAws::S3::GetBucketCorsRequest, QtAws::S3::GetBucketEncryptionRequest, QtAws::S3::GetBucketInventoryConfigurationRequest, QtAws::S3::GetBucketLifecycleConfigurationRequest, QtAws::S3::GetBucketLifecycleRequest, QtAws::S3::GetBucketLocationRequest, QtAws::S3::GetBucketLoggingRequest, QtAws::S3::GetBucketMetricsConfigurationRequest, QtAws::S3::GetBucketNotificationConfigurationRequest, QtAws::S3::GetBucketNotificationRequest, QtAws::S3::GetBucketPolicyRequest, QtAws::S3::GetBucketReplicationRequest, QtAws::S3::GetBucketRequestPaymentRequest, QtAws::S3::GetBucketTaggingRequest, QtAws::S3::GetBucketVersioningRequest, QtAws::S3::GetBucketWebsiteRequest, QtAws::S3::GetObjectAclRequest, QtAws::S3::GetObjectRequest, QtAws::S3::GetObjectTaggingRequest, QtAws::S3::GetObjectTorrentRequest, QtAws::S3::HeadBucketRequest, QtAws::S3::HeadObjectRequest, QtAws::S3::ListBucketAnalyticsConfigurationsRequest, QtAws::S3::ListBucketInventoryConfigurationsRequest, QtAws::S3::ListBucketMetricsConfigurationsRequest, QtAws::S3::ListMultipartUploadsRequest, QtAws::S3::ListObjectsRequest, QtAws::S3::ListObjectsV2Request, QtAws::S3::ListObjectVersionsRequest, QtAws::S3::ListPartsRequest, QtAws::S3::PutBucketAccelerateConfigurationRequest, QtAws::S3::PutBucketAclRequest, QtAws::S3::PutBucketAnalyticsConfigurationRequest, QtAws::S3::PutBucketCorsRequest, QtAws::S3::PutBucketEncryptionRequest, QtAws::S3::PutBucketInventoryConfigurationRequest, QtAws::S3::PutBucketLifecycleConfigurationRequest, QtAws::S3::PutBucketLifecycleRequest, QtAws::S3::PutBucketLoggingRequest, QtAws::S3::PutBucketMetricsConfigurationRequest, QtAws::S3::PutBucketNotificationConfigurationRequest, QtAws::S3::PutBucketNotificationRequest, QtAws::S3::PutBucketPolicyRequest, QtAws::S3::PutBucketReplicationRequest, QtAws::S3::PutBucketRequestPaymentRequest, QtAws::S3::PutBucketTaggingRequest, QtAws::S3::PutBucketVersioningRequest, QtAws::S3::PutBucketWebsiteRequest, QtAws::S3::PutObjectAclRequest, QtAws::S3::PutObjectRequest, QtAws::S3::PutObjectTaggingRequest, QtAws::S3::RestoreObjectRequest, QtAws::S3::SelectObjectContentRequest, QtAws::S3::UploadPartCopyRequest, and QtAws::S3::UploadPartRequest

Public Types

enum Action { AbortMultipartUploadAction, CompleteMultipartUploadAction, CopyObjectAction, CreateBucketAction, ..., UploadPartCopyAction }
flags Actions

Public Functions

S3Request(const Action action)
S3Request(const S3Request &other)
Action action() const
QString actionString() const
QString apiVersion() const
void setAction(const Action action)
void setApiVersion(const QString &version)
S3Request &operator=(const S3Request &other)
virtual bool operator==(const S3Request &other) const

Protected Functions

S3Request(S3RequestPrivate * const d)
int clearParameter(const QString &name)
void clearParameters()
QVariant parameter(const QString &name, const QVariant &defaultValue = QVariant()) const
const QVariantMap &parameters() const
void setParameter(const QString &name, const QVariant &value)
void setParameters(const QVariantMap &parameters)

Reimplemented Protected Functions

virtual QNetworkRequest unsignedRequest(const QUrl &endpoint) const override

Detailed Description

The S3Request class provides an interface for S3 requests.

Member Type Documentation

enum S3Request::Action
flags S3Request::Actions

This enum describes the actions that can be performed as S3 requests.

ConstantValueDescription
QtAws::S3::S3Request::AbortMultipartUploadAction0S3 AbortMultipartUpload action.
QtAws::S3::S3Request::CompleteMultipartUploadAction1S3 CompleteMultipartUpload action.
QtAws::S3::S3Request::CopyObjectAction2S3 CopyObject action.
QtAws::S3::S3Request::CreateBucketAction3S3 CreateBucket action.
QtAws::S3::S3Request::CreateMultipartUploadAction4S3 CreateMultipartUpload action.
QtAws::S3::S3Request::DeleteBucketAction5S3 DeleteBucket action.
QtAws::S3::S3Request::DeleteBucketAnalyticsConfigurationAction6S3 DeleteBucketAnalyticsConfiguration action.
QtAws::S3::S3Request::DeleteBucketCorsAction7S3 DeleteBucketCors action.
QtAws::S3::S3Request::DeleteBucketEncryptionAction8S3 DeleteBucketEncryption action.
QtAws::S3::S3Request::DeleteBucketInventoryConfigurationAction9S3 DeleteBucketInventoryConfiguration action.
QtAws::S3::S3Request::DeleteBucketLifecycleAction10S3 DeleteBucketLifecycle action.
QtAws::S3::S3Request::DeleteBucketMetricsConfigurationAction11S3 DeleteBucketMetricsConfiguration action.
QtAws::S3::S3Request::DeleteBucketPolicyAction12S3 DeleteBucketPolicy action.
QtAws::S3::S3Request::DeleteBucketReplicationAction13S3 DeleteBucketReplication action.
QtAws::S3::S3Request::DeleteBucketTaggingAction14S3 DeleteBucketTagging action.
QtAws::S3::S3Request::DeleteBucketWebsiteAction15S3 DeleteBucketWebsite action.
QtAws::S3::S3Request::DeleteObjectAction16S3 DeleteObject action.
QtAws::S3::S3Request::DeleteObjectTaggingAction17S3 DeleteObjectTagging action.
QtAws::S3::S3Request::DeleteObjectsAction18S3 DeleteObjects action.
QtAws::S3::S3Request::GetBucketAccelerateConfigurationAction19S3 GetBucketAccelerateConfiguration action.
QtAws::S3::S3Request::GetBucketAclAction20S3 GetBucketAcl action.
QtAws::S3::S3Request::GetBucketAnalyticsConfigurationAction21S3 GetBucketAnalyticsConfiguration action.
QtAws::S3::S3Request::GetBucketCorsAction22S3 GetBucketCors action.
QtAws::S3::S3Request::GetBucketEncryptionAction23S3 GetBucketEncryption action.
QtAws::S3::S3Request::GetBucketInventoryConfigurationAction24S3 GetBucketInventoryConfiguration action.
QtAws::S3::S3Request::GetBucketLifecycleAction25S3 GetBucketLifecycle action.
QtAws::S3::S3Request::GetBucketLifecycleConfigurationAction26S3 GetBucketLifecycleConfiguration action.
QtAws::S3::S3Request::GetBucketLocationAction27S3 GetBucketLocation action.
QtAws::S3::S3Request::GetBucketLoggingAction28S3 GetBucketLogging action.
QtAws::S3::S3Request::GetBucketMetricsConfigurationAction29S3 GetBucketMetricsConfiguration action.
QtAws::S3::S3Request::GetBucketNotificationAction30S3 GetBucketNotification action.
QtAws::S3::S3Request::GetBucketNotificationConfigurationAction31S3 GetBucketNotificationConfiguration action.
QtAws::S3::S3Request::GetBucketPolicyAction32S3 GetBucketPolicy action.
QtAws::S3::S3Request::GetBucketReplicationAction33S3 GetBucketReplication action.
QtAws::S3::S3Request::GetBucketRequestPaymentAction34S3 GetBucketRequestPayment action.
QtAws::S3::S3Request::GetBucketTaggingAction35S3 GetBucketTagging action.
QtAws::S3::S3Request::GetBucketVersioningAction36S3 GetBucketVersioning action.
QtAws::S3::S3Request::GetBucketWebsiteAction37S3 GetBucketWebsite action.
QtAws::S3::S3Request::GetObjectAction38S3 GetObject action.
QtAws::S3::S3Request::GetObjectAclAction39S3 GetObjectAcl action.
QtAws::S3::S3Request::GetObjectTaggingAction40S3 GetObjectTagging action.
QtAws::S3::S3Request::GetObjectTorrentAction41S3 GetObjectTorrent action.
QtAws::S3::S3Request::HeadBucketAction42S3 HeadBucket action.
QtAws::S3::S3Request::HeadObjectAction43S3 HeadObject action.
QtAws::S3::S3Request::ListBucketAnalyticsConfigurationsAction44S3 ListBucketAnalyticsConfigurations action.
QtAws::S3::S3Request::ListBucketInventoryConfigurationsAction45S3 ListBucketInventoryConfigurations action.
QtAws::S3::S3Request::ListBucketMetricsConfigurationsAction46S3 ListBucketMetricsConfigurations action.
QtAws::S3::S3Request::ListBucketsAction47S3 ListBuckets action.
QtAws::S3::S3Request::ListMultipartUploadsAction48S3 ListMultipartUploads action.
QtAws::S3::S3Request::ListObjectVersionsAction49S3 ListObjectVersions action.
QtAws::S3::S3Request::ListObjectsAction50S3 ListObjects action.
QtAws::S3::S3Request::ListObjectsV2Action51S3 ListObjectsV2 action.
QtAws::S3::S3Request::ListPartsAction52S3 ListParts action.
QtAws::S3::S3Request::PutBucketAccelerateConfigurationAction53S3 PutBucketAccelerateConfiguration action.
QtAws::S3::S3Request::PutBucketAclAction54S3 PutBucketAcl action.
QtAws::S3::S3Request::PutBucketAnalyticsConfigurationAction55S3 PutBucketAnalyticsConfiguration action.
QtAws::S3::S3Request::PutBucketCorsAction56S3 PutBucketCors action.
QtAws::S3::S3Request::PutBucketEncryptionAction57S3 PutBucketEncryption action.
QtAws::S3::S3Request::PutBucketInventoryConfigurationAction58S3 PutBucketInventoryConfiguration action.
QtAws::S3::S3Request::PutBucketLifecycleAction59S3 PutBucketLifecycle action.
QtAws::S3::S3Request::PutBucketLifecycleConfigurationAction60S3 PutBucketLifecycleConfiguration action.
QtAws::S3::S3Request::PutBucketLoggingAction61S3 PutBucketLogging action.
QtAws::S3::S3Request::PutBucketMetricsConfigurationAction62S3 PutBucketMetricsConfiguration action.
QtAws::S3::S3Request::PutBucketNotificationAction63S3 PutBucketNotification action.
QtAws::S3::S3Request::PutBucketNotificationConfigurationAction64S3 PutBucketNotificationConfiguration action.
QtAws::S3::S3Request::PutBucketPolicyAction65S3 PutBucketPolicy action.
QtAws::S3::S3Request::PutBucketReplicationAction66S3 PutBucketReplication action.
QtAws::S3::S3Request::PutBucketRequestPaymentAction67S3 PutBucketRequestPayment action.
QtAws::S3::S3Request::PutBucketTaggingAction68S3 PutBucketTagging action.
QtAws::S3::S3Request::PutBucketVersioningAction69S3 PutBucketVersioning action.
QtAws::S3::S3Request::PutBucketWebsiteAction70S3 PutBucketWebsite action.
QtAws::S3::S3Request::PutObjectAction71S3 PutObject action.
QtAws::S3::S3Request::PutObjectAclAction72S3 PutObjectAcl action.
QtAws::S3::S3Request::PutObjectTaggingAction73S3 PutObjectTagging action.
QtAws::S3::S3Request::RestoreObjectAction74S3 RestoreObject action.
QtAws::S3::S3Request::SelectObjectContentAction75S3 SelectObjectContent action.
QtAws::S3::S3Request::UploadPartAction76S3 UploadPart action.
QtAws::S3::S3Request::UploadPartCopyAction77S3 UploadPartCopy action.

The Actions type is a typedef for QFlags<Action>. It stores an OR combination of Action values.

Member Function Documentation

S3Request::S3Request(const Action action)

Constructs a S3Request object for S3 action.

S3Request::S3Request(const S3Request &other)

Constructs a copy of other.

[protected] S3Request::S3Request(S3RequestPrivate * const d)

Constructs aa S3Request object with private implementation d.

This overload allows derived classes to provide their own private class implementation that inherits from S3RequestPrivate.

Action S3Request::action() const

Returns the S3 action to be performed by this request.

See also setAction().

QString S3Request::actionString() const

Returns the name of the S3 action to be performed by this request.

QString S3Request::apiVersion() const

Returns the S3 API version implemented by this request.

See also setApiVersion().

[protected] int S3Request::clearParameter(const QString &name)

Removes the a name parameter from the request, then returns the number of paramters removed (typically 0 or 1).

[protected] void S3Request::clearParameters()

Removes all parameters from the request.

[protected] QVariant S3Request::parameter(const QString &name, const QVariant &defaultValue = QVariant()) const

Returns the value of the name pararemter if set; defaultValue otherwise.

See also setParameter().

[protected] const QVariantMap &S3Request::parameters() const

Returns the parameters included in this request.

See also setParameters().

void S3Request::setAction(const Action action)

Sets the S3 action to be performed by this request to action.

See also action().

void S3Request::setApiVersion(const QString &version)

Sets the S3 API version to include in this request to version.

See also apiVersion().

[protected] void S3Request::setParameter(const QString &name, const QVariant &value)

Sets the name parameter to value.

See also parameter().

[protected] void S3Request::setParameters(const QVariantMap &parameters)

Sets the paramters for this request to parameters. Any request parameters set previously will be discarded.

See also parameters().

[override virtual protected] QNetworkRequest S3Request::unsignedRequest(const QUrl &endpoint) const

Reimplemented from AwsAbstractRequest::unsignedRequest().

Returns a network request for the S3 request using the given endpoint.

This S3 implementation builds request URLs by combining the common query parameters (such as Action and Version), with any that have been added (via setParameter) by child classes.

S3Request &S3Request::operator=(const S3Request &other)

Sets the S3Request object to be equal to other.

[virtual] bool S3Request::operator==(const S3Request &other) const

Returns true if this request is equal to other; false otherwise.

Note, most derived *Request classes do not need to provider their own implementations of this function, since most such request classes rely on this class' parameters functionality for all request parameters, and that parameters map is already checked via this implementation.

© 2018 Paul Colby Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.