diff options
author | wsnk <wsnk@yandex-team.ru> | 2022-02-10 16:49:05 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:05 +0300 |
commit | 9533560926db5e88beedf9b4154e57617ea8cf1b (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/cgiparam | |
parent | 5e85b96f0cd76b3abbadf46ecb14f9cbec09de4c (diff) | |
download | ydb-9533560926db5e88beedf9b4154e57617ea8cf1b.tar.gz |
Restoring authorship annotation for <wsnk@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/cgiparam')
-rw-r--r-- | library/cpp/cgiparam/cgiparam.cpp | 48 | ||||
-rw-r--r-- | library/cpp/cgiparam/cgiparam.h | 10 | ||||
-rw-r--r-- | library/cpp/cgiparam/cgiparam_ut.cpp | 40 |
3 files changed, 49 insertions, 49 deletions
diff --git a/library/cpp/cgiparam/cgiparam.cpp b/library/cpp/cgiparam/cgiparam.cpp index 73557812b5..f3277b8e4b 100644 --- a/library/cpp/cgiparam/cgiparam.cpp +++ b/library/cpp/cgiparam/cgiparam.cpp @@ -179,31 +179,31 @@ size_t TCgiParameters::PrintSize() const noexcept { return res; } -TString TCgiParameters::QuotedPrint(const char* safe) const { - if (empty()) { - return TString(); - } - - TString res; - res.ReserveAndResize(PrintSize()); - - char* ptr = res.begin(); - for (auto i = begin();;) { - ptr = Quote(ptr, i->first, safe); - *ptr++ = '='; - ptr = Quote(ptr, i->second, safe); - - if (++i == end()) { - break; - } - - *ptr++ = '&'; - } - +TString TCgiParameters::QuotedPrint(const char* safe) const { + if (empty()) { + return TString(); + } + + TString res; + res.ReserveAndResize(PrintSize()); + + char* ptr = res.begin(); + for (auto i = begin();;) { + ptr = Quote(ptr, i->first, safe); + *ptr++ = '='; + ptr = Quote(ptr, i->second, safe); + + if (++i == end()) { + break; + } + + *ptr++ = '&'; + } + res.ReserveAndResize(ptr - res.data()); - return res; -} - + return res; +} + TCgiParameters::const_iterator TCgiParameters::Find(const TStringBuf name, size_t pos) const noexcept { const auto pair = equal_range(name); diff --git a/library/cpp/cgiparam/cgiparam.h b/library/cpp/cgiparam/cgiparam.h index f60cf0ebb4..87d1ab0ad4 100644 --- a/library/cpp/cgiparam/cgiparam.h +++ b/library/cpp/cgiparam/cgiparam.h @@ -57,11 +57,11 @@ public: Y_PURE_FUNCTION size_t PrintSize() const noexcept; - /** The same as Print* except that RFC-3986 reserved characters are escaped. - * @param safe - set of characters to be skipped in escaping - */ - TString QuotedPrint(const char* safe = "/") const; - + /** The same as Print* except that RFC-3986 reserved characters are escaped. + * @param safe - set of characters to be skipped in escaping + */ + TString QuotedPrint(const char* safe = "/") const; + Y_PURE_FUNCTION auto Range(const TStringBuf name) const noexcept { return IterateValues(MakeIteratorRange(equal_range(name))); diff --git a/library/cpp/cgiparam/cgiparam_ut.cpp b/library/cpp/cgiparam/cgiparam_ut.cpp index 7af4040a9e..a562342084 100644 --- a/library/cpp/cgiparam/cgiparam_ut.cpp +++ b/library/cpp/cgiparam/cgiparam_ut.cpp @@ -215,28 +215,28 @@ Y_UNIT_TEST_SUITE(TCgiParametersTest) { UNIT_ASSERT_VALUES_EQUAL(c.Print(), "a=a1&a=a2&b=b1"); } - - Y_UNIT_TEST(TestPrintAsQuote) { - TCgiParameters c = { + + Y_UNIT_TEST(TestPrintAsQuote) { + TCgiParameters c = { std::make_pair("aaa", "value/with/slashes"), - std::make_pair("b/b/b", "value_without_slashes"), + std::make_pair("b/b/b", "value_without_slashes"), std::make_pair("ccc", "value")}; - - UNIT_ASSERT_VALUES_EQUAL(c.Print(), "aaa=value/with/slashes&b/b/b=value_without_slashes&ccc=value"); - UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), "aaa=value%2Fwith%2Fslashes&b%2Fb%2Fb=value_without_slashes&ccc=value"); - } - - Y_UNIT_TEST(TestPrintAsQuoteEmpty) { + + UNIT_ASSERT_VALUES_EQUAL(c.Print(), "aaa=value/with/slashes&b/b/b=value_without_slashes&ccc=value"); + UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), "aaa=value%2Fwith%2Fslashes&b%2Fb%2Fb=value_without_slashes&ccc=value"); + } + + Y_UNIT_TEST(TestPrintAsQuoteEmpty) { TCgiParameters c = {}; - UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), ""); - } - - Y_UNIT_TEST(TestPrintAsQuoteEmptyKeyOrValue) { - TCgiParameters c = { - std::make_pair("", "value/of/empty"), + UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), ""); + } + + Y_UNIT_TEST(TestPrintAsQuoteEmptyKeyOrValue) { + TCgiParameters c = { + std::make_pair("", "value/of/empty"), std::make_pair("key/for/empty", "")}; - - UNIT_ASSERT_VALUES_EQUAL(c.Print(), "=value/of/empty&key/for/empty="); - UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), "=value%2Fof%2Fempty&key%2Ffor%2Fempty="); - } + + UNIT_ASSERT_VALUES_EQUAL(c.Print(), "=value/of/empty&key/for/empty="); + UNIT_ASSERT_VALUES_EQUAL(c.QuotedPrint(""), "=value%2Fof%2Fempty&key%2Ffor%2Fempty="); + } } |