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 2021/07/29 11:01:31 UTC

[jclouds] branch master updated: Prefer case-insenstive header comparisons

This is an automated email from the ASF dual-hosted git repository.

gaul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jclouds.git


The following commit(s) were added to refs/heads/master by this push:
     new 720e92c  Prefer case-insenstive header comparisons
720e92c is described below

commit 720e92c54aad79126a324dbc7ee4f0a07c67c7b7
Author: Andrew Gaul <ga...@apache.org>
AuthorDate: Wed Jul 28 08:42:22 2021 +0900

    Prefer case-insenstive header comparisons
    
    Follows up to #116.
---
 apis/atmos/src/main/java/org/jclouds/atmos/filters/SignRequest.java | 2 +-
 .../org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java    | 6 +++---
 .../java/org/jclouds/s3/filters/Aws4SignerForChunkedUpload.java     | 6 +++---
 apis/sts/src/main/java/org/jclouds/aws/filters/FormSignerV4.java    | 2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/filters/SignRequest.java b/apis/atmos/src/main/java/org/jclouds/atmos/filters/SignRequest.java
index 6f308ea..8d4a563 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/filters/SignRequest.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/filters/SignRequest.java
@@ -90,7 +90,7 @@ public class SignRequest implements HttpRequestFilter {
       builder.put(AtmosHeaders.UID, creds.get().identity);
       String date = timeStampProvider.get();
       builder.put(HttpHeaders.DATE, date);
-      if (request.getHeaders().containsKey(AtmosHeaders.DATE))
+      if (request.getFirstHeaderOrNull(AtmosHeaders.DATE) != null)
          builder.put(AtmosHeaders.DATE, date);
       request = request.toBuilder().replaceHeaders(Multimaps.forMap(builder.build())).build();
       String signature = calculateSignature(createStringToSign(request));
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 f481fc0..41091f7 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
@@ -124,9 +124,9 @@ public class Aws4SignerForAuthorizationHeader extends Aws4SignerBase {
       signedHeadersBuilder.put(HttpHeaders.HOST.toLowerCase(), host);
 
       // user-agent
-      if (request.getHeaders().containsKey(HttpHeaders.USER_AGENT)) {
-         signedHeadersBuilder.put(HttpHeaders.USER_AGENT.toLowerCase(),
-               request.getFirstHeaderOrNull(HttpHeaders.USER_AGENT));
+      String userAgent = request.getFirstHeaderOrNull(HttpHeaders.USER_AGENT);
+      if (userAgent != null) {
+         signedHeadersBuilder.put(HttpHeaders.USER_AGENT.toLowerCase(), userAgent);
       }
 
       // all x-amz-* headers
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 8729054..91a0d4e 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
@@ -160,9 +160,9 @@ public class Aws4SignerForChunkedUpload extends Aws4SignerBase {
       signedHeadersBuilder.put(HttpHeaders.HOST.toLowerCase(), host);
 
       // user-agent, not a required signing param
-      if (request.getHeaders().containsKey(HttpHeaders.USER_AGENT)) {
-         signedHeadersBuilder.put(HttpHeaders.USER_AGENT.toLowerCase(),
-               request.getFirstHeaderOrNull(HttpHeaders.USER_AGENT));
+      String userAgent = request.getFirstHeaderOrNull(HttpHeaders.USER_AGENT);
+      if (userAgent != null) {
+         signedHeadersBuilder.put(HttpHeaders.USER_AGENT.toLowerCase(), userAgent);
       }
 
       // all x-amz-* headers
diff --git a/apis/sts/src/main/java/org/jclouds/aws/filters/FormSignerV4.java b/apis/sts/src/main/java/org/jclouds/aws/filters/FormSignerV4.java
index ca58fb0..a0c6657 100644
--- a/apis/sts/src/main/java/org/jclouds/aws/filters/FormSignerV4.java
+++ b/apis/sts/src/main/java/org/jclouds/aws/filters/FormSignerV4.java
@@ -114,8 +114,8 @@ public final class FormSignerV4 implements FormSigner {
     */
    @Override
    public HttpRequest filter(HttpRequest request) throws HttpException {
-      checkArgument(request.getHeaders().containsKey(HOST), "request is not ready to sign; host not present");
       String host = request.getFirstHeaderOrNull(HOST);
+      checkArgument(host != null, "request is not ready to sign; host not present");
       String form = request.getPayload().getRawContent().toString();
       Multimap<String, String> decodedParams = queryParser().apply(form);
       checkArgument(decodedParams.containsKey(ACTION), "request is not ready to sign; Action not present %s", form);