Skip to content

Commit 6b2e616

Browse files
Do not encode slashes
Encoding the slash in object names breaks when the object we're trying to fetch is inside a folder. A side effect of this is that the cloud sync module fails to sync folders and objects nested within. Signed-off-by: Gabriel Adrian Samfira <[email protected]>
1 parent 2be7a25 commit 6b2e616

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/rgw/rgw_rest_client.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,8 @@ static void send_prepare_convert(const rgw_obj& obj, string *resource)
803803
{
804804
string urlsafe_bucket, urlsafe_object;
805805
url_encode(obj.bucket.get_key(':', 0), urlsafe_bucket);
806-
url_encode(obj.key.name, urlsafe_object);
806+
// do not encode slash. It leads to 404 errors when fetching objects inside folders.
807+
url_encode(obj.key.name, urlsafe_object, false);
807808
*resource = urlsafe_bucket + "/" + urlsafe_object;
808809
}
809810

0 commit comments

Comments
 (0)