The Client#signURL(options, callback) method requires options.path to be a Manta object path; e.g. "/jmc/public/tmp/file.txt" or "~~/stor/whatever.png". In order to transform expansion tokens like "~~", we pass the value of options.path through Client#path(path, skipEncode), but we request that the URI encoding step be skipped.
This is incorrect. Each component of the path must be URI-encoded, so that paths with characters that are not valid in a URI are presented correctly in the signed output.
The
Client#signURL(options, callback)
method requiresoptions.path
to be a Manta object path; e.g."/jmc/public/tmp/file.txt"
or"~~/stor/whatever.png"
. In order to transform expansion tokens like"~~"
, we pass the value ofoptions.path
throughClient#path(path, skipEncode)
, but we request that the URI encoding step be skipped.This is incorrect. Each component of the path must be URI-encoded, so that paths with characters that are not valid in a URI are presented correctly in the signed output.