diff --git a/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java b/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java index ef8aa791b735..724460e65dfe 100644 --- a/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java +++ b/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java @@ -266,7 +266,7 @@ public AmazonS3Client(AWSCredentials awsCredentials, ClientConfiguration clientC * Constructs a new Amazon S3 client using the specified AWS credentials * provider to access Amazon S3. * - * @param awsCredentialsProvider + * @param credentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ @@ -278,7 +278,7 @@ public AmazonS3Client(AWSCredentialsProvider credentialsProvider) { * Constructs a new Amazon S3 client using the specified AWS credentials and * client configuration to access Amazon S3. * - * @param awsCredentialsProvider + * @param credentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration @@ -1819,12 +1819,18 @@ public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrl new Date(System.currentTimeMillis() + 1000 * 60 * 15)); } + HttpMethodName httpMethod = HttpMethodName.valueOf(generatePresignedUrlRequest.getMethod().toString()); Request request = createRequest(bucketName, key, generatePresignedUrlRequest, httpMethod); for (Entry entry : generatePresignedUrlRequest.getRequestParameters().entrySet()) { request.addParameter(entry.getKey(), entry.getValue()); } + if (generatePresignedUrlRequest.getContentType() != null) { + request.addHeader("content-type", generatePresignedUrlRequest.getContentType()); + } + + addResponseHeaderParameters(request, generatePresignedUrlRequest.getResponseHeaders()); presignRequest(request, generatePresignedUrlRequest.getMethod(), diff --git a/src/main/java/com/amazonaws/services/s3/model/GeneratePresignedUrlRequest.java b/src/main/java/com/amazonaws/services/s3/model/GeneratePresignedUrlRequest.java index 4f08656e85e1..c19c98f1039d 100644 --- a/src/main/java/com/amazonaws/services/s3/model/GeneratePresignedUrlRequest.java +++ b/src/main/java/com/amazonaws/services/s3/model/GeneratePresignedUrlRequest.java @@ -47,6 +47,9 @@ public class GeneratePresignedUrlRequest extends AmazonWebServiceRequest { /** The key of the object involved in this request */ private String key; + /** The optional content-type (for PUT and POST) */ + private String contentType; + /** * An optional expiration date at which point the generated pre-signed URL * will no longer be accepted by Amazon S3. If not specified, a default @@ -324,4 +327,41 @@ public GeneratePresignedUrlRequest withResponseHeaders(ResponseHeaderOverrides r setResponseHeaders(responseHeaders); return this; } + + /** + * Gets the expected content-type of the request. The content-type is included in + * the signature. + * + * @return The expected content-type + */ + public String getContentType() { + return contentType; + } + + /** + * Sets the expected content-type of the request. The content-type is included in + * the signature. + * @param contentType + * The expected content-type + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + + /** + * Sets the expected content-type of the request and returns + * this object, for method chaining. + * + * @param contentType + * The expected content-type + * + * + * @return This {@link GeneratePresignedUrlRequest} for method chaining. + */ + public GeneratePresignedUrlRequest withContentType(String contentType) { + setContentType(contentType); + return this; + } + + } diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/CreateStoredISCSIVolumeRequest.java b/src/main/java/com/amazonaws/services/storagegateway/model/CreateStorediSCSIVolumeRequest.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/CreateStoredISCSIVolumeRequest.java rename to src/main/java/com/amazonaws/services/storagegateway/model/CreateStorediSCSIVolumeRequest.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/CreateStoredISCSIVolumeResult.java b/src/main/java/com/amazonaws/services/storagegateway/model/CreateStorediSCSIVolumeResult.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/CreateStoredISCSIVolumeResult.java rename to src/main/java/com/amazonaws/services/storagegateway/model/CreateStorediSCSIVolumeResult.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/DescribeStoredISCSIVolumesRequest.java b/src/main/java/com/amazonaws/services/storagegateway/model/DescribeStorediSCSIVolumesRequest.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/DescribeStoredISCSIVolumesRequest.java rename to src/main/java/com/amazonaws/services/storagegateway/model/DescribeStorediSCSIVolumesRequest.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/DescribeStoredISCSIVolumesResult.java b/src/main/java/com/amazonaws/services/storagegateway/model/DescribeStorediSCSIVolumesResult.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/DescribeStoredISCSIVolumesResult.java rename to src/main/java/com/amazonaws/services/storagegateway/model/DescribeStorediSCSIVolumesResult.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/StoredISCSIVolume.java b/src/main/java/com/amazonaws/services/storagegateway/model/StorediSCSIVolume.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/StoredISCSIVolume.java rename to src/main/java/com/amazonaws/services/storagegateway/model/StorediSCSIVolume.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/VolumeISCSIAttributes.java b/src/main/java/com/amazonaws/services/storagegateway/model/VolumeiSCSIAttributes.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/VolumeISCSIAttributes.java rename to src/main/java/com/amazonaws/services/storagegateway/model/VolumeiSCSIAttributes.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStoredISCSIVolumeRequestMarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStorediSCSIVolumeRequestMarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStoredISCSIVolumeRequestMarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStorediSCSIVolumeRequestMarshaller.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStoredISCSIVolumeResultJsonUnmarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStorediSCSIVolumeResultJsonUnmarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStoredISCSIVolumeResultJsonUnmarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/CreateStorediSCSIVolumeResultJsonUnmarshaller.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStoredISCSIVolumesRequestMarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStorediSCSIVolumesRequestMarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStoredISCSIVolumesRequestMarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStorediSCSIVolumesRequestMarshaller.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStoredISCSIVolumesResultJsonUnmarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStorediSCSIVolumesResultJsonUnmarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStoredISCSIVolumesResultJsonUnmarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/DescribeStorediSCSIVolumesResultJsonUnmarshaller.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/StoredISCSIVolumeJsonUnmarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/StorediSCSIVolumeJsonUnmarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/StoredISCSIVolumeJsonUnmarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/StorediSCSIVolumeJsonUnmarshaller.java diff --git a/src/main/java/com/amazonaws/services/storagegateway/model/transform/VolumeISCSIAttributesJsonUnmarshaller.java b/src/main/java/com/amazonaws/services/storagegateway/model/transform/VolumeiSCSIAttributesJsonUnmarshaller.java similarity index 100% rename from src/main/java/com/amazonaws/services/storagegateway/model/transform/VolumeISCSIAttributesJsonUnmarshaller.java rename to src/main/java/com/amazonaws/services/storagegateway/model/transform/VolumeiSCSIAttributesJsonUnmarshaller.java