SignatureV4.sign() signs an HTTP request with the AWS Signature V4 algorithm. Given an HTTP request description, it returns a new HTTP request with the AWS signature v4 protocol headers added. It returns an Object holding a url and a headers properties, ready to use in the context of k6's HTTP call.
Parameters
The first parameter of the sign method consists of an Object with the following properties.
Property | Type | Description |
---|---|---|
method | string | The HTTP method of the request |
protocol | http or https string | The network protocol of the request |
hostname | string | The hostname the request is sent to |
path | string | The path of the request |
headers | Object | The headers of the HTTP request |
body (optional) | string or ArrayBuffer | The optional body of the HTTP request |
query (optional) | Object.<string, string \| Array.<string>> | The optional query parameters of the HTTP request |
You can override SignatureV4 options in the context of this specific request. To do this, pass a second parameter to the sign method, which is an Object with the following parameters.
Property | Type | Description |
---|---|---|
signingDate | Date | overrides the Date used in the signing operation |
signingService | string | overrides the signer's AWS service in the context of the sign operation. |
signingRegion | string | overrides the signer's AWS region in the context of the sign operation |
unsignableHeaders | Set<string> | excludes headers from the signing process |
signableHeaders | Set<string> | mark headers as signed |
Returns
Property | Type | Description |
---|---|---|
headers | Object | The signed request's headers to use in the context of a k6 HTTP request |
url | string | The signed url to use in the context of a k6 HTTP request |