> + checkNotNull(blob, "blob");
> + HttpRequest request = processor.apply(Invocation.create(createMethod,
> + ImmutableList.<Object>of(container, blobToObject.apply(blob))));
> + return cleanRequest(signForTemporaryAccess(request, timeInSeconds));
> + }
> +
> + private HttpRequest signForTemporaryAccess(HttpRequest request, long
> timeInSeconds) {
> + // Update the 'DATE' header
> + final String expiration =
> String.valueOf(System.currentTimeMillis()/1000 + timeInSeconds);
> + HttpRequest req = request.toBuilder().replaceHeader(HttpHeaders.DATE,
> expiration).build();
> + final String signature =
> authSigner.sign(authSigner.createStringToSign(req));
> + req = req.toBuilder()
> + .addQueryParam("Signature", signature)
> + .addQueryParam(HttpHeaders.EXPIRES, expiration)
> + .addQueryParam("AWSAccessKeyId", identity)
> + .build();
Could you save one `toBuilder` call here using something like
```
Builder updatedRequestBuilder =
request.toBuilder().replaceHeader(HttpHeaders.DATE, expiration);
String signature =
authSigner.sign(authSigner.createStringToSign(updatedRequestBuilder.build()));
return updatedRequestBuilder.addQueryParam("Signature", signature)...build();
```
?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/71/files#r5336047