> +      for (Entry<String, String> header : canonicalizedHeadersMap.entries()) 
> {
> +         String key = header.getKey();
> +         canonicalizedHeadersBuffer.append(String.format("%s:%s\n", 
> key.toLowerCase(), header.getValue()));
> +      }
> +      return canonicalizedHeadersBuffer.toString();
> +   }
> +
> +   private String buildSignedHeaders(Multimap<String, String> 
> canonicalizedHeadersMap) {
> +      StringBuilder signedHeadersBuffer = new StringBuilder();
> +      for (Entry<String, String> header : canonicalizedHeadersMap.entries()) 
> {
> +         String key = header.getKey();
> +         signedHeadersBuffer.append(key.toLowerCase()).append(";");
> +      }
> +      if(signedHeadersBuffer.length() > 0) {
> +         signedHeadersBuffer.deleteCharAt(signedHeadersBuffer.length()-1);
> +      }

Instead of manually building the string and removing the trailing ';', you 
could do something like:
```java
return 
Joiner.on(';').join(Iterables.transform(canonicalizedHeadersMap.keySet(), new 
Function<String, String>() {
   @Override
   public String apply(String input) {
      return input.toLowerCase();
   }
}));
```

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-aws/pull/3/files#r12469322

Reply via email to