You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2017/05/10 17:52:15 UTC

jclouds git commit: Add logic from JCLOUDS-1261 to the other 2 types of Aws4 signer.

Repository: jclouds
Updated Branches:
  refs/heads/master 6452960c7 -> 89ae3b4fa


Add logic from JCLOUDS-1261 to the other 2 types of Aws4 signer.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/89ae3b4f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/89ae3b4f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/89ae3b4f

Branch: refs/heads/master
Commit: 89ae3b4fa6b64deeea45fabb3ca151ca200872e8
Parents: 6452960
Author: Stephen Tomkinson <st...@gmail.com>
Authored: Wed May 10 11:41:23 2017 +0100
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed May 10 10:09:22 2017 -0700

----------------------------------------------------------------------
 .../java/org/jclouds/s3/filters/Aws4SignerBase.java | 16 ++++++++++++++++
 .../filters/Aws4SignerForAuthorizationHeader.java   |  9 +--------
 .../s3/filters/Aws4SignerForChunkedUpload.java      |  1 +
 .../s3/filters/Aws4SignerForQueryString.java        |  1 +
 4 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/89ae3b4f/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerBase.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerBase.java b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerBase.java
index 1348e22..c30ee46 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerBase.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerBase.java
@@ -133,6 +133,22 @@ public abstract class Aws4SignerBase {
       dateFormat.setTimeZone(GMT);
    }
 
+   protected static String hostHeaderFor(URI endpoint) {
+      String scheme = endpoint.getScheme();
+      String host = endpoint.getHost();
+      int port = endpoint.getPort();
+
+      // if the port is defined and doesn't match the URI scheme
+      if (port != -1) {
+         if (("http".equalsIgnoreCase(scheme) && port != 80) ||
+                 ("https".equalsIgnoreCase(scheme) && port != 443)) {
+            host += ":" + port; // append the port number to the hostname
+         }
+      }
+
+      return host; // else just use the original hostname
+   }
+
    protected String getContentType(HttpRequest request) {
       Payload payload = request.getPayload();
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/89ae3b4f/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
index 9b8bf99..258c3a7 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
@@ -75,7 +75,6 @@ public class Aws4SignerForAuthorizationHeader extends Aws4SignerBase {
 
       // get host & port from request endpoint.
       String host = request.getEndpoint().getHost();
-      int port = request.getEndpoint().getPort();
 
       Date date = timestampProvider.get();
       String timestamp = timestampFormat.format(date);
@@ -120,13 +119,7 @@ public class Aws4SignerForAuthorizationHeader extends Aws4SignerBase {
       }
 
       // host
-      // if the port is defined and doesn't match the URI scheme
-      if (port != -1) {
-         if (("http".equalsIgnoreCase(request.getEndpoint().getScheme()) && port != 80) ||
-                 ("https".equalsIgnoreCase(request.getEndpoint().getScheme()) && port != 443)) {
-            host += ":" + port; // append the port number to the hostname
-         }
-      }
+      host = hostHeaderFor(request.getEndpoint());
       requestBuilder.replaceHeader(HttpHeaders.HOST, host);
       signedHeadersBuilder.put(HttpHeaders.HOST.toLowerCase(), host);
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/89ae3b4f/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java
index bd455e9..8729054 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java
@@ -155,6 +155,7 @@ public class Aws4SignerForChunkedUpload extends Aws4SignerBase {
       }
 
       // host
+      host = hostHeaderFor(request.getEndpoint());
       requestBuilder.replaceHeader(HttpHeaders.HOST, host);
       signedHeadersBuilder.put(HttpHeaders.HOST.toLowerCase(), host);
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/89ae3b4f/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForQueryString.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForQueryString.java b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForQueryString.java
index 2f1abe4..537e66c 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForQueryString.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForQueryString.java
@@ -102,6 +102,7 @@ public class Aws4SignerForQueryString extends Aws4SignerBase {
       // For added security, you should sign as many headers as possible.
 
       // HOST
+      host = hostHeaderFor(request.getEndpoint());
       signedHeadersBuilder.put("host", host);
       ImmutableMap<String, String> signedHeaders = signedHeadersBuilder.build();