From 80e050b3a730ca081b55ded63f796ffd020b2d4d Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 16 Jun 2016 16:15:16 +0200 Subject: [PATCH] rgw: add a string-returning variant of url_encode. Signed-off-by: Radoslaw Zarzynski --- src/rgw/rgw_common.cc | 8 ++++++++ src/rgw/rgw_common.h | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index f483fd12aa8..ffe34094a64 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -1109,6 +1109,14 @@ void url_encode(const string& src, string& dst) } } +std::string url_encode(const std::string& src) +{ + std::string dst; + url_encode(src, dst); + + return dst; +} + string rgw_trim_whitespace(const string& src) { if (src.empty()) { diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 502b002b462..42a1ec82198 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -1936,8 +1936,12 @@ extern bool verify_object_permission(struct req_state *s, int perm); /** Convert an input URL into a sane object name * by converting %-escaped strings into characters, etc*/ extern void rgw_uri_escape_char(char c, string& dst); -extern bool url_decode(const string& src_str, string& dest_str, bool in_query = false); -extern void url_encode(const string& src, string& dst); +extern bool url_decode(const std::string& src_str, + std::string& dest_str, + bool in_query = false); +extern void url_encode(const std::string& src, + string& dst); +extern std::string url_encode(const std::string& src); /* destination should be CEPH_CRYPTO_HMACSHA1_DIGESTSIZE bytes long */ extern void calc_hmac_sha1(const char *key, int key_len,