aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/string_utils
diff options
context:
space:
mode:
authorvbezhentsev <vbezhentsev@yandex-team.ru>2022-02-10 16:49:55 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:55 +0300
commitf7e6d639f6922829aa197bf9413624d0d4ca4d66 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/string_utils
parenta26ab7ed1c37272cdb769a5c3192a69c58c3adf9 (diff)
downloadydb-f7e6d639f6922829aa197bf9413624d0d4ca4d66.tar.gz
Restoring authorship annotation for <vbezhentsev@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/string_utils')
-rw-r--r--library/cpp/string_utils/url/url.cpp24
-rw-r--r--library/cpp/string_utils/url/url.h20
-rw-r--r--library/cpp/string_utils/url/url_ut.cpp48
3 files changed, 46 insertions, 46 deletions
diff --git a/library/cpp/string_utils/url/url.cpp b/library/cpp/string_utils/url/url.cpp
index d2926b76b8..85f4ac5d69 100644
--- a/library/cpp/string_utils/url/url.cpp
+++ b/library/cpp/string_utils/url/url.cpp
@@ -194,18 +194,18 @@ void SplitUrlToHostAndPath(const TStringBuf url, TString& host, TString& path) {
path = pathBuf;
}
-void SeparateUrlFromQueryAndFragment(const TStringBuf url, TStringBuf& sanitizedUrl, TStringBuf& query, TStringBuf& fragment) {
- TStringBuf urlWithoutFragment;
- if (!url.TrySplit('#', urlWithoutFragment, fragment)) {
- fragment = "";
- urlWithoutFragment = url;
- }
- if (!urlWithoutFragment.TrySplit('?', sanitizedUrl, query)) {
- query = "";
- sanitizedUrl = urlWithoutFragment;
- }
-}
-
+void SeparateUrlFromQueryAndFragment(const TStringBuf url, TStringBuf& sanitizedUrl, TStringBuf& query, TStringBuf& fragment) {
+ TStringBuf urlWithoutFragment;
+ if (!url.TrySplit('#', urlWithoutFragment, fragment)) {
+ fragment = "";
+ urlWithoutFragment = url;
+ }
+ if (!urlWithoutFragment.TrySplit('?', sanitizedUrl, query)) {
+ query = "";
+ sanitizedUrl = urlWithoutFragment;
+ }
+}
+
bool TryGetSchemeHostAndPort(const TStringBuf url, TStringBuf& scheme, TStringBuf& host, ui16& port) {
const size_t schemeSize = GetSchemePrefixSize(url);
if (schemeSize != 0) {
diff --git a/library/cpp/string_utils/url/url.h b/library/cpp/string_utils/url/url.h
index 0279c0a528..84137ccc57 100644
--- a/library/cpp/string_utils/url/url.h
+++ b/library/cpp/string_utils/url/url.h
@@ -83,16 +83,16 @@ void SplitUrlToHostAndPath(const TStringBuf url, TStringBuf& host, TStringBuf& p
void SplitUrlToHostAndPath(const TStringBuf url, TString& host, TString& path);
/**
- * Separates URL into url prefix, query (aka cgi params list), and fragment (aka part after #)
- *
- * @param[in] url any URL
- * @param[out] sanitizedUrl parsed URL without query and fragment parts
- * @param[out] query parsed query
- * @param[out] fragment parsed fragment
- */
-void SeparateUrlFromQueryAndFragment(const TStringBuf url, TStringBuf& sanitizedUrl, TStringBuf& query, TStringBuf& fragment);
-
-/**
+ * Separates URL into url prefix, query (aka cgi params list), and fragment (aka part after #)
+ *
+ * @param[in] url any URL
+ * @param[out] sanitizedUrl parsed URL without query and fragment parts
+ * @param[out] query parsed query
+ * @param[out] fragment parsed fragment
+ */
+void SeparateUrlFromQueryAndFragment(const TStringBuf url, TStringBuf& sanitizedUrl, TStringBuf& query, TStringBuf& fragment);
+
+/**
* Extracts scheme, host and port from URL.
*
* Port will be parsed from URL with checks against ui16 overflow. If URL doesn't
diff --git a/library/cpp/string_utils/url/url_ut.cpp b/library/cpp/string_utils/url/url_ut.cpp
index f40b3f7a96..1588013893 100644
--- a/library/cpp/string_utils/url/url_ut.cpp
+++ b/library/cpp/string_utils/url/url_ut.cpp
@@ -151,30 +151,30 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) {
UNIT_ASSERT_STRINGS_EQUAL(path, "");
}
- Y_UNIT_TEST(TestSeparateUrlFromQueryAndFragment) {
- TStringBuf sanitizedUrl, query, fragment;
-
- SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch", sanitizedUrl, query, fragment);
- UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
- UNIT_ASSERT_STRINGS_EQUAL(query, "");
- UNIT_ASSERT_STRINGS_EQUAL(fragment, "");
-
- SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch?param1=val1&param2=val2", sanitizedUrl, query, fragment);
- UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
- UNIT_ASSERT_STRINGS_EQUAL(query, "param1=val1&param2=val2");
- UNIT_ASSERT_STRINGS_EQUAL(fragment, "");
-
- SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch#fragment", sanitizedUrl, query, fragment);
- UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
- UNIT_ASSERT_STRINGS_EQUAL(query, "");
- UNIT_ASSERT_STRINGS_EQUAL(fragment, "fragment");
-
- SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch?param1=val1&param2=val2#fragment", sanitizedUrl, query, fragment);
- UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
- UNIT_ASSERT_STRINGS_EQUAL(query, "param1=val1&param2=val2");
- UNIT_ASSERT_STRINGS_EQUAL(fragment, "fragment");
- }
-
+ Y_UNIT_TEST(TestSeparateUrlFromQueryAndFragment) {
+ TStringBuf sanitizedUrl, query, fragment;
+
+ SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch", sanitizedUrl, query, fragment);
+ UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
+ UNIT_ASSERT_STRINGS_EQUAL(query, "");
+ UNIT_ASSERT_STRINGS_EQUAL(fragment, "");
+
+ SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch?param1=val1&param2=val2", sanitizedUrl, query, fragment);
+ UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
+ UNIT_ASSERT_STRINGS_EQUAL(query, "param1=val1&param2=val2");
+ UNIT_ASSERT_STRINGS_EQUAL(fragment, "");
+
+ SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch#fragment", sanitizedUrl, query, fragment);
+ UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
+ UNIT_ASSERT_STRINGS_EQUAL(query, "");
+ UNIT_ASSERT_STRINGS_EQUAL(fragment, "fragment");
+
+ SeparateUrlFromQueryAndFragment("https://yandex.ru/yandsearch?param1=val1&param2=val2#fragment", sanitizedUrl, query, fragment);
+ UNIT_ASSERT_STRINGS_EQUAL(sanitizedUrl, "https://yandex.ru/yandsearch");
+ UNIT_ASSERT_STRINGS_EQUAL(query, "param1=val1&param2=val2");
+ UNIT_ASSERT_STRINGS_EQUAL(fragment, "fragment");
+ }
+
Y_UNIT_TEST(TestGetSchemeHostAndPort) {
{ // all components are present
TStringBuf scheme("unknown"), host("unknown");