> + 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