libqtaws
0.1.0
UnofficialAWSlibraryforQt-InternalDocumentation
|
Private implementation for AwsSignatureV1. More...
Public Member Functions | |
AwsSignatureV1Private (AwsSignatureV1 *const q) | |
Constructs a new AwsSignatureV1Private object. More... | |
QByteArray | canonicalQuery (const QUrlQuery &query) const |
Create an AWS Signature version 1 canonical query. More... | |
![]() | |
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 | ~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... | |
Protected Types | |
typedef QPair< QString, QString > | QStringPair |
A key-value pair of strings for working with QUrlQuery::queryItems() results. | |
Static Protected Member Functions | |
static bool | caseInsensitiveLessThan (const QStringPair &pair1, const QStringPair &pair2) |
Is a key-value pair less than another key-value pair? More... | |
Friends | |
class | TestAwsSignatureV1 |
Additional Inherited Members | |
![]() | |
AwsAbstractSignature *const | q_ptr |
Internal q-pointer. | |
Private implementation for AwsSignatureV1.
Definition at line 32 of file awssignaturev1_p.h.
AwsSignatureV1Private::AwsSignatureV1Private | ( | AwsSignatureV1 *const | q | ) |
Constructs a new AwsSignatureV1Private object.
q | Pointer to this object's public AwsSignatureV1 instance. |
Definition at line 88 of file awssignaturev1.cpp.
|
virtual |
Create an AWS Signature version 1 canonical query.
This function returns a string containing all non-empty query parameters in sorted order (case-insensitive), with no separators at all.
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:
ActionCreateQueueAWSAccessKeyIdAKIAIOSFODNN7EXAMPLEExpires2007-01-12T12:00:00ZQueueNamequeue2SignatureVersion1Version2006-04-01
This function is very similar to AwsAbstractSignature::canonicalQuery(), except that:
&
and =
separators just as you would expect to see them in a typical query string; andThe AwsAbstractSignature::canonicalQuery() function is used by the later signature algorithms, such as AwsSignatureV2 and AwsSignatureV4, as required by Amazon. Instead this function is specific to version 1 signatures.
query | Query to encode the HTTP query string from. |
Reimplemented from AwsSignatureV0Private.
Definition at line 133 of file awssignaturev1.cpp.
References caseInsensitiveLessThan().
|
staticprotected |
Is a key-value pair less than another key-value pair?
This static function is used by the canonicalQuery function to sort query string parameters in case-insensitive order, via Qt's qSort function.
pair1 | The first key-value (query string parameter) pair. |
pair2 | The second key-value (query string parameter) pair. |
true
if pair1 is less than pair2. Definition at line 159 of file awssignaturev1.cpp.
Referenced by canonicalQuery().