diff options
| author | antonovvk <[email protected]> | 2022-02-10 16:47:51 +0300 | 
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:47:51 +0300 | 
| commit | 37a63debdc21e372d99e1808cdd31aecf75018c3 (patch) | |
| tree | fd84293fb9a1b16381dd6c1a5e14c78afacb8710 /library/cpp/string_utils/url | |
| parent | 1fe621e70df847cc201ac942fe6d7804ea10508d (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/string_utils/url')
| -rw-r--r-- | library/cpp/string_utils/url/url.cpp | 24 | ||||
| -rw-r--r-- | library/cpp/string_utils/url/url.h | 2 | ||||
| -rw-r--r-- | library/cpp/string_utils/url/url_ut.cpp | 18 | 
3 files changed, 22 insertions, 22 deletions
| diff --git a/library/cpp/string_utils/url/url.cpp b/library/cpp/string_utils/url/url.cpp index 85f4ac5d693..bb75f02491e 100644 --- a/library/cpp/string_utils/url/url.cpp +++ b/library/cpp/string_utils/url/url.cpp @@ -83,12 +83,12 @@ size_t GetHttpPrefixSize(const wchar16* url, bool ignorehttps) noexcept {  size_t GetHttpPrefixSize(const TStringBuf url, bool ignorehttps) noexcept {      return GetHttpPrefixSizeImpl<char>(url.data(), TKnownSize(url.size()), ignorehttps); -} - +}  +   size_t GetHttpPrefixSize(const TWtringBuf url, bool ignorehttps) noexcept {      return GetHttpPrefixSizeImpl<wchar16>(url.data(), TKnownSize(url.size()), ignorehttps); -} - +}  +   TStringBuf CutHttpPrefix(const TStringBuf url, bool ignorehttps) noexcept {      return CutHttpPrefixImpl(url, ignorehttps);  } @@ -109,20 +109,20 @@ size_t GetSchemePrefixSize(const TStringBuf url) noexcept {      const char* n = delim.brk(url.data(), url.end());      if (n + 2 >= url.end() || *n != ':' || n[1] != '/' || n[2] != '/') { -        return 0; +        return 0;       } -    return n + 3 - url.begin(); +    return n + 3 - url.begin();   }  TStringBuf GetSchemePrefix(const TStringBuf url) noexcept { -    return url.Head(GetSchemePrefixSize(url)); -} - +    return url.Head(GetSchemePrefixSize(url));  +}  +   TStringBuf CutSchemePrefix(const TStringBuf url) noexcept { -    return url.Tail(GetSchemePrefixSize(url)); -} - +    return url.Tail(GetSchemePrefixSize(url));  +}  +   template <bool KeepPort>  static inline TStringBuf GetHostAndPortImpl(const TStringBuf url) {      TStringBuf urlNoScheme = url; diff --git a/library/cpp/string_utils/url/url.h b/library/cpp/string_utils/url/url.h index 84137ccc57d..0d73b409f10 100644 --- a/library/cpp/string_utils/url/url.h +++ b/library/cpp/string_utils/url/url.h @@ -30,7 +30,7 @@ size_t GetHttpPrefixSize(const wchar16* url, bool ignorehttps = false) noexcept;  Y_PURE_FUNCTION  size_t GetHttpPrefixSize(const TStringBuf url, bool ignorehttps = false) noexcept; - +   Y_PURE_FUNCTION  size_t GetHttpPrefixSize(const TWtringBuf url, bool ignorehttps = false) noexcept; diff --git a/library/cpp/string_utils/url/url_ut.cpp b/library/cpp/string_utils/url/url_ut.cpp index 15880138939..48aaeb661f1 100644 --- a/library/cpp/string_utils/url/url_ut.cpp +++ b/library/cpp/string_utils/url/url_ut.cpp @@ -77,16 +77,16 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) {          UNIT_ASSERT_VALUES_EQUAL("file://yandex.ru", AddSchemePrefix("file://yandex.ru"));          UNIT_ASSERT_VALUES_EQUAL("ftp://ya.ru", AddSchemePrefix("ya.ru", "ftp"));      } - +       Y_UNIT_TEST(TestSchemeGet) { -        UNIT_ASSERT_VALUES_EQUAL("http://", GetSchemePrefix("http://ya.ru/bebe")); -        UNIT_ASSERT_VALUES_EQUAL("", GetSchemePrefix("yaru")); -        UNIT_ASSERT_VALUES_EQUAL("yaru://", GetSchemePrefix("yaru://ya.ru://zzz")); -        UNIT_ASSERT_VALUES_EQUAL("", GetSchemePrefix("ya.ru://zzz")); -        UNIT_ASSERT_VALUES_EQUAL("ftp://", GetSchemePrefix("ftp://ya.ru://zzz")); -        UNIT_ASSERT_VALUES_EQUAL("https://", GetSchemePrefix("https://")); // is that right? -    } - +        UNIT_ASSERT_VALUES_EQUAL("http://", GetSchemePrefix("http://ya.ru/bebe"));  +        UNIT_ASSERT_VALUES_EQUAL("", GetSchemePrefix("yaru"));  +        UNIT_ASSERT_VALUES_EQUAL("yaru://", GetSchemePrefix("yaru://ya.ru://zzz"));  +        UNIT_ASSERT_VALUES_EQUAL("", GetSchemePrefix("ya.ru://zzz"));  +        UNIT_ASSERT_VALUES_EQUAL("ftp://", GetSchemePrefix("ftp://ya.ru://zzz"));  +        UNIT_ASSERT_VALUES_EQUAL("https://", GetSchemePrefix("https://")); // is that right?  +    }  +       Y_UNIT_TEST(TestSchemeCut) {          UNIT_ASSERT_VALUES_EQUAL("ya.ru/bebe", CutSchemePrefix("http://ya.ru/bebe"));          UNIT_ASSERT_VALUES_EQUAL("yaru", CutSchemePrefix("yaru")); | 
