public class AWS4SignerForChunkedUpload extends AWS4SignerBase
Modifier and Type | Field and Description |
---|---|
static String |
STREAMING_BODY_SHA256
SHA256 substitute marker used in place of x-amz-content-sha256 when
employing chunked uploads
|
ALGORITHM, dateStampFormat, DateStringFormat, dateTimeFormat, EMPTY_BODY_SHA256, endpointUrl, httpMethod, ISO8601BasicFormat, regionName, SCHEME, serviceName, TERMINATOR, UNSIGNED_PAYLOAD
Constructor and Description |
---|
AWS4SignerForChunkedUpload(URL endpointUrl,
String httpMethod,
String serviceName,
String regionName) |
Modifier and Type | Method and Description |
---|---|
static long |
calculateChunkedContentLength(long originalLength,
long chunkSize)
Calculates the expanded payload size of our data when it is chunked
|
String |
computeSignature(Map<String,String> headers,
Map<String,String> queryParameters,
String bodyHash,
String awsAccessKey,
String awsSecretKey)
Computes an AWS4 signature for a request, ready for inclusion as an
'Authorization' header.
|
byte[] |
constructSignedChunk(int userDataLen,
byte[] userData)
Returns a chunk for upload consisting of the signed 'header' or chunk
prefix plus the user data.
|
getCanonicalizedHeaderString, getCanonicalizedQueryString, getCanonicalizedResourcePath, getCanonicalizeHeaderNames, getCanonicalRequest, getStringToSign, hash, hash, sign, urlEncode
public static final String STREAMING_BODY_SHA256
public String computeSignature(Map<String,String> headers, Map<String,String> queryParameters, String bodyHash, String awsAccessKey, String awsSecretKey)
headers
- The request headers; 'Host' and 'X-Amz-Date' will be added to
this set.queryParameters
- Any query parameters that will be added to the endpoint. The
parameters should be specified in canonical format.bodyHash
- Precomputed SHA256 hash of the request body content; this
value should also be set as the header 'X-Amz-Content-SHA256'
for non-streaming uploads.awsAccessKey
- The user's AWS Access Key.awsSecretKey
- The user's AWS Secret Key.public static long calculateChunkedContentLength(long originalLength, long chunkSize)
originalLength
- The true size of the data payload to be uploadedchunkSize
- The size of each chunk we intend to send; each chunk will be
prefixed with signed header data, expanding the overall size
by a determinable amountpublic byte[] constructSignedChunk(int userDataLen, byte[] userData)
userDataLen
- The length of the user data contained in userDatauserData
- Contains the user data to be sent in the upload chunkCopyright © 2020. All rights reserved.