diff options
author | vvvv <vvvv@yandex-team.com> | 2024-11-07 12:29:36 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2024-11-07 13:49:47 +0300 |
commit | d4c258e9431675bab6745c8638df6e3dfd4dca6b (patch) | |
tree | b5efcfa11351152a4c872fccaea35749141c0b11 /yql/essentials/core/url_preprocessing/url_preprocessing.h | |
parent | 13a4f274caef5cfdaf0263b24e4d6bdd5521472b (diff) | |
download | ydb-d4c258e9431675bab6745c8638df6e3dfd4dca6b.tar.gz |
Moved other yql/essentials libs YQL-19206
init
commit_hash:7d4c435602078407bbf20dd3c32f9c90d2bbcbc0
Diffstat (limited to 'yql/essentials/core/url_preprocessing/url_preprocessing.h')
-rw-r--r-- | yql/essentials/core/url_preprocessing/url_preprocessing.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/yql/essentials/core/url_preprocessing/url_preprocessing.h b/yql/essentials/core/url_preprocessing/url_preprocessing.h new file mode 100644 index 0000000000..1e1abd3e1a --- /dev/null +++ b/yql/essentials/core/url_preprocessing/url_preprocessing.h @@ -0,0 +1,38 @@ +#pragma once + +#include <yql/essentials/core/url_preprocessing/interface/url_preprocessing.h> +#include <yql/essentials/core/url_preprocessing/pattern_group.h> +#include <yql/essentials/core/url_preprocessing/url_mapper.h> + +#include <yql/essentials/core/yql_user_data.h> + +#include <util/generic/string.h> +#include <util/generic/ptr.h> + +#include <vector> +#include <utility> + +namespace NYql { + +class TGatewaysConfig; + +class TUrlPreprocessing: public IUrlPreprocessing { +public: + using TPtr = TIntrusivePtr<TUrlPreprocessing>; + + TUrlPreprocessing(const TGatewaysConfig& cfg) { + Configure(false, cfg); + } + TUrlPreprocessing() = default; + ~TUrlPreprocessing() = default; + + void Configure(bool restrictedUser, const TGatewaysConfig& cfg); + std::pair<TString, TString> Preprocess(const TString& url); + +private: + bool RestrictedUser_ = false; + TUrlMapper Mapper_; + TPatternGroup AllowedUrls_; +}; + +} |