aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/tld
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /library/cpp/tld
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
downloadydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/tld')
-rwxr-xr-xlibrary/cpp/tld/gen_tld.py2
-rw-r--r--library/cpp/tld/tld.cpp70
-rw-r--r--library/cpp/tld/tld.h30
-rw-r--r--library/cpp/tld/tld_ut.cpp6
-rw-r--r--library/cpp/tld/ya.make2
5 files changed, 55 insertions, 55 deletions
diff --git a/library/cpp/tld/gen_tld.py b/library/cpp/tld/gen_tld.py
index 882b701e1d..59b265fb21 100755
--- a/library/cpp/tld/gen_tld.py
+++ b/library/cpp/tld/gen_tld.py
@@ -27,7 +27,7 @@ def main():
break
print '// actual list can be found at http://data.iana.org/TLD/tlds-alpha-by-domain.txt'
- print 'static const char* const TopLevelDomains[] = {'
+ print 'static const char* const TopLevelDomains[] = {'
for label, value in sorted(tlds.iteritems()):
if label == 'xn--':
diff --git a/library/cpp/tld/tld.cpp b/library/cpp/tld/tld.cpp
index e31f3f0322..dbfd9d5332 100644
--- a/library/cpp/tld/tld.cpp
+++ b/library/cpp/tld/tld.cpp
@@ -1,48 +1,48 @@
#include "tld.h"
#include <library/cpp/digest/lower_case/hash_ops.h>
-
+
#include <util/generic/hash_set.h>
-#include <util/generic/singleton.h>
+#include <util/generic/singleton.h>
namespace NTld {
- namespace {
+ namespace {
#include <library/cpp/tld/tld.inc>
- using TCiHash = THashSet<TStringBuf, TCIOps, TCIOps>;
-
- struct TTLDHash: public TCiHash {
- TTLDHash() {
- for (auto tld = GetTlds(); *tld; ++tld) {
- insert(*tld);
- }
- }
- };
-
- struct TVeryGoodTld: public TCiHash {
- TVeryGoodTld() {
- auto domains = {
- "am", "az", "biz", "by", "com", "cz", "de", "ec", "fr", "ge", "gov",
- "gr", "il", "info", "kg", "kz", "mobi", "net", "nu", "org", "lt", "lv",
- "md", "ru", "su", "tr", "ua", "uk", "uz", "ws", "xn--p1ai", "рф"};
-
- for (auto d : domains) {
- insert(d);
- }
+ using TCiHash = THashSet<TStringBuf, TCIOps, TCIOps>;
+
+ struct TTLDHash: public TCiHash {
+ TTLDHash() {
+ for (auto tld = GetTlds(); *tld; ++tld) {
+ insert(*tld);
+ }
+ }
+ };
+
+ struct TVeryGoodTld: public TCiHash {
+ TVeryGoodTld() {
+ auto domains = {
+ "am", "az", "biz", "by", "com", "cz", "de", "ec", "fr", "ge", "gov",
+ "gr", "il", "info", "kg", "kz", "mobi", "net", "nu", "org", "lt", "lv",
+ "md", "ru", "su", "tr", "ua", "uk", "uz", "ws", "xn--p1ai", "рф"};
+
+ for (auto d : domains) {
+ insert(d);
+ }
}
- };
- }
-
- const char* const* GetTlds() {
- return TopLevelDomains;
- }
-
- bool IsTld(const TStringBuf& s) {
+ };
+ }
+
+ const char* const* GetTlds() {
+ return TopLevelDomains;
+ }
+
+ bool IsTld(const TStringBuf& s) {
return Default<TTLDHash>().contains(s);
- }
+ }
- bool IsVeryGoodTld(const TStringBuf& s) {
+ bool IsVeryGoodTld(const TStringBuf& s) {
return Default<TVeryGoodTld>().contains(s);
- }
-
+ }
+
}
diff --git a/library/cpp/tld/tld.h b/library/cpp/tld/tld.h
index 9e241de090..4829b7bea6 100644
--- a/library/cpp/tld/tld.h
+++ b/library/cpp/tld/tld.h
@@ -3,26 +3,26 @@
#include <util/generic/strbuf.h>
namespace NTld {
- const char* const* GetTlds();
+ const char* const* GetTlds();
- // Note that FindTld() returns empty string when @host is single domain label (without '.').
+ // Note that FindTld() returns empty string when @host is single domain label (without '.').
// If you need whole @host for such case, you can use GetZone() from library/cpp/string_utils/url/url.h
- inline TStringBuf FindTld(const TStringBuf& host) {
- size_t p = host.rfind('.');
- return p != TStringBuf::npos ? host.SubStr(p + 1) : TStringBuf();
- }
+ inline TStringBuf FindTld(const TStringBuf& host) {
+ size_t p = host.rfind('.');
+ return p != TStringBuf::npos ? host.SubStr(p + 1) : TStringBuf();
+ }
- bool IsTld(const TStringBuf& tld);
+ bool IsTld(const TStringBuf& tld);
- inline bool InTld(const TStringBuf& host) {
- return IsTld(FindTld(host));
- }
+ inline bool InTld(const TStringBuf& host) {
+ return IsTld(FindTld(host));
+ }
- // check if @s belongs to a "good" subset of reliable TLDs, defined in tld.cpp
- bool IsVeryGoodTld(const TStringBuf& tld);
+ // check if @s belongs to a "good" subset of reliable TLDs, defined in tld.cpp
+ bool IsVeryGoodTld(const TStringBuf& tld);
- inline bool InVeryGoodTld(const TStringBuf& host) {
- return IsVeryGoodTld(FindTld(host));
- }
+ inline bool InVeryGoodTld(const TStringBuf& host) {
+ return IsVeryGoodTld(FindTld(host));
+ }
}
diff --git a/library/cpp/tld/tld_ut.cpp b/library/cpp/tld/tld_ut.cpp
index 733200f2b5..9d11e3adaa 100644
--- a/library/cpp/tld/tld_ut.cpp
+++ b/library/cpp/tld/tld_ut.cpp
@@ -43,9 +43,9 @@ Y_UNIT_TEST_SUITE(TTldTest) {
UNIT_ASSERT(!IsVeryGoodTld("BMW"));
UNIT_ASSERT(!IsVeryGoodTld("TiReS"));
UNIT_ASSERT(IsVeryGoodTld("рф"));
- UNIT_ASSERT(!IsVeryGoodTld("РФ")); // note that uppercase non-ascii tlds cannot be found
- UNIT_ASSERT(IsVeryGoodTld("xn--p1ai")); // "рф"
- UNIT_ASSERT(!IsVeryGoodTld("xn--p1ag")); // "ру"
+ UNIT_ASSERT(!IsVeryGoodTld("РФ")); // note that uppercase non-ascii tlds cannot be found
+ UNIT_ASSERT(IsVeryGoodTld("xn--p1ai")); // "рф"
+ UNIT_ASSERT(!IsVeryGoodTld("xn--p1ag")); // "ру"
UNIT_ASSERT(!IsVeryGoodTld("YaHOO"));
UNIT_ASSERT(!IsVeryGoodTld("xn"));
diff --git a/library/cpp/tld/ya.make b/library/cpp/tld/ya.make
index aeabbfeebf..1ff1001a17 100644
--- a/library/cpp/tld/ya.make
+++ b/library/cpp/tld/ya.make
@@ -7,7 +7,7 @@ PYTHON(
IN tlds-alpha-by-domain.txt
STDOUT tld.inc
)
-
+
SRCS(
tld.cpp
)