diff options
author | trifon <trifon@yandex-team.ru> | 2022-02-10 16:50:51 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:50:51 +0300 |
commit | e3135d62bbcf321d86fff8258f5cdc5b2f57bde5 (patch) | |
tree | a5eeb758718dafefc9e215dae39f45cb61309f34 /library/cpp/uri/encode.h | |
parent | 252a6c9fbded23dfee8729dc34c97159962216a7 (diff) | |
download | ydb-e3135d62bbcf321d86fff8258f5cdc5b2f57bde5.tar.gz |
Restoring authorship annotation for <trifon@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/uri/encode.h')
-rw-r--r-- | library/cpp/uri/encode.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/library/cpp/uri/encode.h b/library/cpp/uri/encode.h index a9ece154270..2c70b902b76 100644 --- a/library/cpp/uri/encode.h +++ b/library/cpp/uri/encode.h @@ -3,12 +3,12 @@ #include "common.h" #include <util/stream/output.h> - + namespace NUri { namespace NEncode { #define CHAR_TYPE_NAME(f) _ECT##f #define CHAR_TYPE_FLAG(f) ECF##f = 1u << CHAR_TYPE_NAME(f) - + enum ECharType { CHAR_TYPE_NAME(Digit), CHAR_TYPE_NAME(Lower), @@ -29,10 +29,10 @@ namespace NUri { ECGUnres = ECGAlnum | ECFUnres, ECGStdrd = ECGUnres | ECFStdrd, }; - + #undef CHAR_TYPE_NAME #undef CHAR_TYPE_FLAG - + struct TCharFlags { ui32 TypeFlags; ui64 FeatFlags; @@ -135,7 +135,7 @@ namespace NUri { static bool IsType(unsigned char c, ui64 flags) { return GetFlags(c).TypeFlags & flags; } - + public: static bool IsDigit(unsigned char c) { return IsType(c, ECFDigit); @@ -158,7 +158,7 @@ namespace NUri { static const TCharFlags& GetFlags(unsigned char c) { return Grammar().Get(c); } - + public: // process an encoded string, decoding safe chars and encoding unsafe static IOutputStream& ReEncode(IOutputStream& out, const TStringBuf& val, const TEncodeMapper& srcfld) { @@ -169,13 +169,13 @@ namespace NUri { TEncoder(out, srcfld, dstfld).ReEncode(val); return out; } - + // see also UrlUnescape() from string/quote.h static IOutputStream& Decode( IOutputStream& out, const TStringBuf& val, ui64 flags) { return ReEncode(out, val, flags | TFeature::FeatureDecodeANY); } - + public: // process a raw string or char, encode as needed static IOutputStream& Hex(IOutputStream& out, unsigned char val); @@ -185,18 +185,18 @@ namespace NUri { } static IOutputStream& EncodeAll(IOutputStream& out, const TStringBuf& val); static IOutputStream& EncodeNotAlnum(IOutputStream& out, const TStringBuf& val); - + static IOutputStream& EncodeField(IOutputStream& out, const TStringBuf& val, TField::EField fld); static IOutputStream& EncodeField(IOutputStream& out, const TStringBuf& val, TField::EField fld, ui64 flags); static IOutputStream& Encode(IOutputStream& out, const TStringBuf& val) { return EncodeField(out, val, TField::FieldAllMAX); } - + static IOutputStream& Encode(IOutputStream& out, const TStringBuf& val, ui64 flags) { return EncodeField(out, val, TField::FieldAllMAX, flags); } - + public: class TGrammar { TCharFlags Map_[256]; @@ -239,12 +239,12 @@ namespace NUri { const TEncodeToMapper FldDst; ui64 OutFlags; int HexValue; - + protected: void HexReset() { HexValue = 0; } - + void HexDigit(char c) { HexAdd(c - '0'); } @@ -254,7 +254,7 @@ namespace NUri { void HexLower(char c) { HexAdd(c - 'a' + 10); } - + void HexAdd(int val) { HexValue <<= 4; HexValue += val; @@ -275,8 +275,8 @@ namespace NUri { } void Do(unsigned char, int); }; - } + } using TEncoder = NEncode::TEncoder; - -} + +} |