[
https://issues.apache.org/jira/browse/JCLOUDS-1447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16611822#comment-16611822
]
David Currie commented on JCLOUDS-1447:
---------------------------------------
I did have a search throughout jclouds for other headers as, at one point, I
was considering whether all headers should be URL encoded (given the general
lack of support for non-ASCII characters in headers). I believe this was the
only one in the AWS provider. I did find headers which should not be URL
encoded (e.g. containing email addresses) hence I was reluctant to start
encoding headers for other providers that I do not know well and do not have
the facility to test.
> S3 CopyObject requires x-amz-copy-source to be URL encoded
> ----------------------------------------------------------
>
> Key: JCLOUDS-1447
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1447
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-blobstore
> Affects Versions: 2.1.1
> Reporter: David Currie
> Priority: Major
> Labels: s3
>
> S3 CopyObject requires x-amz-copy-source to be URL encoded as per
> [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html.]
> Current failure to do so results in a 400:
> {code}
> org.jclouds.aws.AWSResponseException: request PUT
> https://cloudbees-kubernetes-arch.s3.amazonaws.com/jclouds-test/…/test0/2/artifacts/otherdir/xxx%23%3F:%24%26%27%22%3C%3E%C4%8D%E0%A5%90
> HTTP/1.1 failed with code 400, error: AWSError\{requestId='…',
> requestToken='…', code='InvalidArgument', message='Unsupported copy source
> parameter.',
> context='{ArgumentValue=/cloudbees-kubernetes-arch/jclouds-test/…/test0/1/artifacts/otherdir/xxx#?:$&'"<>Äà¥,
> HostId=…, ArgumentName=x-amz-copy-source}'}
> at
> org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:75)
> at …
> at org.jclouds.s3.blobstore.S3BlobStore.copyBlob(S3BlobStore.java:324)
> {code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)