-
Notifications
You must be signed in to change notification settings - Fork 71
URL needs double-encoding for non-S3 endpoints #28
Comments
I would've loved for this to be cut-and-dry but another request with a comma in the URL is requiring a single-encode. I'm going to open an AWS ticket about this. |
For ES endpoint, these characters require double-encoding: !"#%'()* I've opened AWS support ticket about it, and will post the received response here. |
And the response is: Will keep you updated. |
Seems that commas need to be double encoded these days? |
For those still awaiting a resolution of this, please help me review #35 as I'm not using go-aws-auth for anything other than Elasticsearch Service. |
I am using AWS elasticsearch and using AWS signature V4 to communicate with the instance. Still AWS expects the % to be encoded again as follows. Any help would be appreciated. |
@sgsandeep are you using the branch on #35 ? |
Hey,
I'm using this library to sign requests to an AWS ES Service endpoint. Basic requests work fine, but those with a
*
have a signing error:The canonical request generated by go-aws-auth only single-encoded the symbol:
/.kibana-4/_mapping/%2A/field/_source
Adding another encodePathFrag() call around the existing one in
normuri()
fixed the request.Docs don't talk much about this but a spec on node's aws-sdk checks that URIs are double-encoded for non-S3 endpoints only. https://github.com/aws/aws-sdk-js/blob/333b9d1507a70c8e5b6459a1b513f9fcddd16457/test/signers/v4.spec.coffee#L124
The text was updated successfully, but these errors were encountered: