[ 
https://issues.apache.org/jira/browse/JCLOUDS-1447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16612287#comment-16612287
 ] 

ASF subversion and git services commented on JCLOUDS-1447:
----------------------------------------------------------

Commit 7ebf12bf3867c7cdead772b8c80675c8a41bf7fa in jclouds's branch 
refs/heads/master from [~davec999]
[ https://git-wip-us.apache.org/repos/asf?p=jclouds.git;h=7ebf12b ]

JCLOUDS-1447: URL encode x-amz-copy-source

The x-amz-copy-source header on S3 CopyObject should be URL encoded (as
a path). This is not universally true of all headers though (for example
the = in x-amz-copy-source-range) therefore introducing a new parameter
on @Headers to indicate whether URL encoding should take place.


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

Reply via email to