> + @org.jclouds.location.Provider Supplier<Credentials> creds,
> + @TimeStamp Provider<String> timeStampProvider, Crypto crypto,
> HttpUtils utils) {
> + super(signatureWire, authTag, isVhostStyle, servicePath, headerTag,
> creds, timeStampProvider, crypto,
> + utils);
> + }
> +
> + @Override
> + protected HttpRequest replaceAuthorizationHeader(HttpRequest request,
> String signature) {
> + /*
> + * Only add the Authorization header if the query string doesn't
> already contain
> + * the 'Signature' parameter, otherwise S3 will fail the request
> complaining about
> + * duplicate authentication methods. The 'Signature' parameter will be
> added for signed URLs
> + * with expiration.
> + */
> + if
> (queryParser().apply(request.getEndpoint().getQuery()).containsKey(TEMPORARY_SIGNATURE_PARAM))
> {
> + return request;
Yes. Even with AWS only requests with expiration will use the Signature query
parameter. Regular sign get/put requests will continue using the Authorization
header.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/74/files#r5408353