Java 类com.amazonaws.services.s3.model.ResponseHeaderOverrides 实例源码

项目:ibm-cos-sdk-java    文件:AmazonS3Client.java   
/**
 * <p>
 * Adds response headers parameters to the request given, if non-null.
 * </p>
 *
 * @param request
 *            The request to add the response header parameters to.
 * @param responseHeaders
 *            The full set of response headers to add, or null for none.
 */
private static void addResponseHeaderParameters(Request<?> request, ResponseHeaderOverrides responseHeaders) {
    if ( responseHeaders != null ) {
        if ( responseHeaders.getCacheControl() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_CACHE_CONTROL, responseHeaders.getCacheControl());
        }
        if ( responseHeaders.getContentDisposition() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_CONTENT_DISPOSITION,
                    responseHeaders.getContentDisposition());
        }
        if ( responseHeaders.getContentEncoding() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_CONTENT_ENCODING,
                    responseHeaders.getContentEncoding());
        }
        if ( responseHeaders.getContentLanguage() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_CONTENT_LANGUAGE,
                    responseHeaders.getContentLanguage());
        }
        if ( responseHeaders.getContentType() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_CONTENT_TYPE, responseHeaders.getContentType());
        }
        if ( responseHeaders.getExpires() != null ) {
            request.addParameter(ResponseHeaderOverrides.RESPONSE_HEADER_EXPIRES, responseHeaders.getExpires());
        }
    }
}
项目:ibm-cos-sdk-java    文件:PersistableDownload.java   
public PersistableDownload(
        @JsonProperty(value = "bucketName") String bucketName,
        @JsonProperty(value = "key") String key,
        @JsonProperty(value = "versionId") String versionId,
        @JsonProperty(value = "range") long[] range,
        @JsonProperty(value = "responseHeaders") ResponseHeaderOverrides responseHeaders,
        @JsonProperty(value = "isRequesterPays") boolean isRequesterPays,
        @JsonProperty(value = "file") String file,
        @JsonProperty(value = "lastFullyDownloadedPartNumber") Integer lastFullyDownloadedPartNumber,
        @JsonProperty(value = "lastModifiedTime") long lastModifiedTime) {
    this.bucketName = bucketName;
    this.key = key;
    this.versionId = versionId;
    this.range = range  == null ? null : range.clone();
    this.responseHeaders = responseHeaders;
    this.isRequesterPays = isRequesterPays;
    this.file = file;
    this.lastFullyDownloadedPartNumber = lastFullyDownloadedPartNumber;
    this.lastModifiedTime = lastModifiedTime;
}
项目:s3proxy    文件:AwsSdkTest.java   
@Test
public void testAwsV2SignatureWithOverrideParameters() throws Exception {
    client = AmazonS3ClientBuilder.standard()
            .withClientConfiguration(V2_SIGNER_CONFIG)
            .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
            .withEndpointConfiguration(s3EndpointConfig).build();

    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(BYTE_SOURCE.size());
    client.putObject(containerName, "foo", BYTE_SOURCE.openStream(),
            metadata);

    String blobName = "foo";

    ResponseHeaderOverrides headerOverride = new ResponseHeaderOverrides();

    String expectedContentDisposition = "attachment; " + blobName;
    headerOverride.setContentDisposition(expectedContentDisposition);

    String expectedContentType = "text/plain";
    headerOverride.setContentType(expectedContentType);

    GetObjectRequest request = new GetObjectRequest(containerName,
            blobName);
    request.setResponseHeaders(headerOverride);

    S3Object object = client.getObject(request);
    assertThat(object.getObjectMetadata().getContentLength()).isEqualTo(
            BYTE_SOURCE.size());
    assertThat(object.getObjectMetadata().getContentDisposition())
            .isEqualTo(expectedContentDisposition);
    assertThat(object.getObjectMetadata().getContentType()).isEqualTo(
            expectedContentType);
    try (InputStream actual = object.getObjectContent();
         InputStream expected = BYTE_SOURCE.openStream()) {
        assertThat(actual).hasContentEqualTo(expected);
    }
}
项目:ibm-cos-sdk-java    文件:PersistableDownload.java   
/**
 * Returns the optional response headers.
 */
ResponseHeaderOverrides getResponseHeaders() {
    return responseHeaders;
}
项目:s3proxy    文件:AwsSdkTest.java   
@Test
public void testAwsV2UrlSigningWithOverrideParameters() throws Exception {
    client = AmazonS3ClientBuilder.standard()
            .withClientConfiguration(V2_SIGNER_CONFIG)
            .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
            .withEndpointConfiguration(s3EndpointConfig).build();

    String blobName = "foo";
    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(BYTE_SOURCE.size());
    client.putObject(containerName, blobName, BYTE_SOURCE.openStream(),
            metadata);

    GeneratePresignedUrlRequest generatePresignedUrlRequest =
            new GeneratePresignedUrlRequest(containerName, blobName);
    generatePresignedUrlRequest.setMethod(HttpMethod.GET);

    ResponseHeaderOverrides headerOverride = new ResponseHeaderOverrides();

    headerOverride.setContentDisposition("attachment; " + blobName);
    headerOverride.setContentType("text/plain");
    generatePresignedUrlRequest.setResponseHeaders(headerOverride);

    Date expiration = new Date(System.currentTimeMillis() +
            TimeUnit.HOURS.toMillis(1));
    generatePresignedUrlRequest.setExpiration(expiration);

    URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
    URLConnection connection =  url.openConnection();
    try (InputStream actual = connection.getInputStream();
         InputStream expected = BYTE_SOURCE.openStream()) {

        String value = connection.getHeaderField("Content-Disposition");
        assertThat(value).isEqualTo(headerOverride.getContentDisposition());

        value = connection.getHeaderField("Content-Type");
        assertThat(value).isEqualTo(headerOverride.getContentType());

        assertThat(actual).hasContentEqualTo(expected);
    }
}
项目:s3proxy    文件:AwsSdkTest.java   
@Test
public void testOverrideResponseHeader() throws Exception {
    String blobName = "foo";
    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(BYTE_SOURCE.size());
    client.putObject(containerName, blobName, BYTE_SOURCE.openStream(),
            metadata);

    String cacheControl = "no-cache";
    String contentDisposition = "attachment; filename=foo.html";
    String contentEncoding = "gzip";
    String contentLanguage = "en";
    String contentType = "text/html; charset=UTF-8";
    String expires = "Wed, 13 Jul 2016 21:23:51 GMT";
    long expiresTime = 1468445031000L;

    GetObjectRequest getObjectRequest = new GetObjectRequest(containerName,
            blobName);
    getObjectRequest.setResponseHeaders(
            new ResponseHeaderOverrides()
                .withCacheControl(cacheControl)
                .withContentDisposition(contentDisposition)
                .withContentEncoding(contentEncoding)
                .withContentLanguage(contentLanguage)
                .withContentType(contentType)
                .withExpires(expires));
    S3Object object = client.getObject(getObjectRequest);
    try (InputStream is = object.getObjectContent()) {
        assertThat(is).isNotNull();
        ByteStreams.copy(is, ByteStreams.nullOutputStream());
    }

    ObjectMetadata reponseMetadata = object.getObjectMetadata();
    assertThat(reponseMetadata.getCacheControl()).isEqualTo(
            cacheControl);
    assertThat(reponseMetadata.getContentDisposition()).isEqualTo(
            contentDisposition);
    assertThat(reponseMetadata.getContentEncoding()).isEqualTo(
            contentEncoding);
    assertThat(reponseMetadata.getContentLanguage()).isEqualTo(
            contentLanguage);
    assertThat(reponseMetadata.getContentType()).isEqualTo(
            contentType);
    assertThat(reponseMetadata.getHttpExpiresDate().getTime())
        .isEqualTo(expiresTime);
}