libqtaws
0.1.0
UnofficialAWSlibraryforQt-InternalDocumentation
|
Private implementation for AwsSignatureV0. More...
Public Member Functions | |
AwsSignatureV0Private (AwsSignatureV0 *const q) | |
Constructs a new AwsSignatureV0Private object. More... | |
virtual | ~AwsSignatureV0Private () |
AwsSignatureV0Private destructor. | |
void | adornRequest (QNetworkRequest &request, const AwsAbstractCredentials &credentials) const |
Add AWS Signature Version 0 adornments to an AWS request. More... | |
virtual QByteArray | canonicalQuery (const QUrlQuery &query) const |
Create an AWS Signature version 0 canonical query. More... | |
![]() | |
virtual | ~AwsAbstractSignaturePrivate () |
AwsAbstractSignaturePrivate destructor. More... | |
AwsAbstractSignaturePrivate (AwsAbstractSignature *const q) | |
Constructs a new AwsAbstractSignaturePrivate object. More... | |
QString | canonicalPath (const QUrl &url) const |
Create an AWS Signature canonical path. More... | |
QByteArray | canonicalQuery (const QUrlQuery &query) const |
Create an AWS Signature canonical query. More... | |
QString | httpMethod (const QNetworkAccessManager::Operation operation) const |
Create an AWS Signature request method string. More... | |
bool | setQueryItem (QUrlQuery &query, const QString &key, const QString &value, const bool warnOnNonIdenticalDuplicate=true) const |
Set a query item, checking for existing values first. More... | |
Friends | |
class | TestAwsSignatureV0 |
Additional Inherited Members | |
![]() | |
AwsAbstractSignature *const | q_ptr |
Internal q-pointer. | |
Private implementation for AwsSignatureV0.
Definition at line 32 of file awssignaturev0_p.h.
AwsSignatureV0Private::AwsSignatureV0Private | ( | AwsSignatureV0 *const | q | ) |
Constructs a new AwsSignatureV0Private object.
q | Pointer to this object's public AwsSignatureV0 instance. |
Definition at line 136 of file awssignaturev0.cpp.
void AwsSignatureV0Private::adornRequest | ( | QNetworkRequest & | request, |
const AwsAbstractCredentials & | credentials | ||
) | const |
Add AWS Signature Version 0 adornments to an AWS request.
In addition to service-specific request parameters, Amazon requires that version 1 signatures contain a number of common query parameters. This functions adds those query parameters to request if they're not already present.
The query parameters added by this function, as required by Amazon, are:
AWSAccessKeyId
- set to credentials.accessKeyId().SignatureVersion
- set to 0
.Timestamp
- set to a current UTC timestamp in an ISO 8601 format, like 2013-10-30T12:34:56Z
, unless an Expires
value is present, in which case no Timestamp
parameter is added.SignatureVersion
header is optional for version 0 signatures, but this function always includes it for clarity.request | Request to adorn. |
credentials | Credentials to use when adorning request. |
Definition at line 173 of file awssignaturev0.cpp.
References AwsAbstractCredentials::accessKeyId(), and AwsAbstractSignaturePrivate::setQueryItem().
|
virtual |
Create an AWS Signature version 0 canonical query.
This function returns a string containing the concatenation of Action
and timestamp
(or Expires
) query parameters.
For example, for the following SQS query string:
?Action=CreateQueue&QueueName=queue2&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&SignatureVersion=1&Expires=2007-01-12T12:00:00Z&Version=2006-04-01
this function will return the following canonical form:
CreateQueue2007-01-12T12:00:00Z
query | Query to encode the HTTP query string from. |
Action
and either a Timestamp
or Expires
query paramter. See adornRequest().Reimplemented in AwsSignatureV1Private.
Definition at line 229 of file awssignaturev0.cpp.