[3/4] jclouds git commit: JCLOUDS-1400: Honor GCS signed URL content type

2018-04-12 Thread gaul
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

2018-04-12 Thread gaul
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();
}