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();