[3/4] jclouds git commit: JCLOUDS-1400: Honor GCS signed URL content type
JCLOUDS-1400: Honor GCS signed URL content type Also add GetOptions headers instead of replacing all headers. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/cf50e69c Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/cf50e69c Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/cf50e69c Branch: refs/heads/2.1.x Commit: cf50e69c77b08b8fe7362e655130d8b918bdc8c8 Parents: fbaacf7 Author: Andrew Gaul Authored: Sat Apr 7 15:28:03 2018 -0700 Committer: Andrew Gaul Committed: Thu Apr 12 22:44:46 2018 -0700 -- .../blobstore/GoogleCloudStorageBlobRequestSigner.java | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/jclouds/blob/cf50e69c/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java -- diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java index 390ada1..8d6e58c 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java @@ -24,6 +24,7 @@ import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.Signature; import java.security.SignatureException; +import java.util.Map; import javax.annotation.Resource; import javax.inject.Provider; @@ -95,7 +96,8 @@ public final class GoogleCloudStorageBlobRequestSigner implements BlobRequestSig @Override public HttpRequest signPutBlob(String container, Blob blob, long timeInSeconds) { - return sign("PUT", container, blob.getMetadata().getName(), GetOptions.NONE, timestamp.get() + timeInSeconds, null); + return sign("PUT", container, blob.getMetadata().getName(), GetOptions.NONE, timestamp.get() + timeInSeconds, +blob.getMetadata().getContentMetadata().getContentType()); } @Deprecated @@ -131,11 +133,14 @@ public final class GoogleCloudStorageBlobRequestSigner implements BlobRequestSig } String signature = BaseEncoding.base64().encode(rawSignature); + for (Map.Entry entry : options.buildRequestHeaders().entries()) { + request.addHeader(entry.getKey(), entry.getValue()); + } + return (HttpRequest) request .addQueryParam("Expires", String.valueOf(expires)) .addQueryParam("GoogleAccessId", creds.get().identity) .addQueryParam("Signature", signature) -.headers(options.buildRequestHeaders()) .build(); }
[3/4] jclouds git commit: JCLOUDS-1400: Honor GCS signed URL content type
JCLOUDS-1400: Honor GCS signed URL content type Also add GetOptions headers instead of replacing all headers. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/7db5eb5c Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/7db5eb5c Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/7db5eb5c Branch: refs/heads/master Commit: 7db5eb5cd06441f5c38017392fcb69580d1b0eb9 Parents: a35fa4a Author: Andrew Gaul Authored: Sat Apr 7 15:28:03 2018 -0700 Committer: Andrew Gaul Committed: Thu Apr 12 22:43:43 2018 -0700 -- .../blobstore/GoogleCloudStorageBlobRequestSigner.java | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/jclouds/blob/7db5eb5c/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java -- diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java index d41de7d..11deb80 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobRequestSigner.java @@ -24,6 +24,7 @@ import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.Signature; import java.security.SignatureException; +import java.util.Map; import javax.annotation.Resource; import javax.inject.Provider; @@ -95,7 +96,8 @@ public final class GoogleCloudStorageBlobRequestSigner implements BlobRequestSig @Override public HttpRequest signPutBlob(String container, Blob blob, long timeInSeconds) { - return sign("PUT", container, blob.getMetadata().getName(), GetOptions.NONE, timestamp.get() + timeInSeconds, null); + return sign("PUT", container, blob.getMetadata().getName(), GetOptions.NONE, timestamp.get() + timeInSeconds, +blob.getMetadata().getContentMetadata().getContentType()); } private HttpRequest sign(String method, String container, String name, GetOptions options, long expires, String contentType) { @@ -125,11 +127,14 @@ public final class GoogleCloudStorageBlobRequestSigner implements BlobRequestSig } String signature = BaseEncoding.base64().encode(rawSignature); + for (Map.Entry entry : options.buildRequestHeaders().entries()) { + request.addHeader(entry.getKey(), entry.getValue()); + } + return (HttpRequest) request .addQueryParam("Expires", String.valueOf(expires)) .addQueryParam("GoogleAccessId", creds.get().identity) .addQueryParam("Signature", signature) -.headers(options.buildRequestHeaders()) .build(); }