aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/uri/encode.cpp
diff options
context:
space:
mode:
authorsocialgraph <socialgraph@yandex-team.com>2022-09-08 14:28:30 +0300
committersocialgraph <socialgraph@yandex-team.com>2022-09-08 14:28:30 +0300
commitdfe3fdb76414445f7674788b36e925d49280e9f1 (patch)
tree844d2f9dd199440f700d7ef28e1d208b67f827b7 /library/cpp/uri/encode.cpp
parent1e2781d41b8073e19248305f6d51888dfa6d469d (diff)
downloadydb-dfe3fdb76414445f7674788b36e925d49280e9f1.tar.gz
use hash bang flag
use hash bang flag
Diffstat (limited to 'library/cpp/uri/encode.cpp')
-rw-r--r--library/cpp/uri/encode.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/library/cpp/uri/encode.cpp b/library/cpp/uri/encode.cpp
index 584fb1bac9..27ed750324 100644
--- a/library/cpp/uri/encode.cpp
+++ b/library/cpp/uri/encode.cpp
@@ -14,14 +14,14 @@ namespace NUri {
// remove '#' which can't ever be decoded
// don't mark anything allowed for pass (pass is completely encoded)
-// safe in path, qry, frag
+// safe in path, qry, frag, hashbang
#define GENDELIMS1 ":@"
-// allowed in qry, frag
+// allowed in qry, frag, hashbang
#define GENDELIMS2 "/?"
// qry-unsafe chars
#define SUBDELIMS1 "&+=;"
-// rest allowed in qry, frag
+// rest allowed in qry, frag, hashbang
#define SUBDELIMS2 "!$'()*,"
const TEncoder::TGrammar& TEncoder::Grammar() {
@@ -44,11 +44,11 @@ namespace NUri {
// now field-specific subsets of reserved characters (gen-delims + sub-delims)
const ui64 featSafe = TFeature::FeatureDecodeFieldAllowed;
- Add(GENDELIMS1, 0, featSafe, TField::FlagPath | TField::FlagQuery | TField::FlagFrag);
- Add(GENDELIMS2, 0, featSafe, TField::FlagQuery | TField::FlagFrag);
+ Add(GENDELIMS1, 0, featSafe, TField::FlagPath | TField::FlagQuery | TField::FlagFrag | TField::FlagHashBang);
+ Add(GENDELIMS2, 0, featSafe, TField::FlagQuery | TField::FlagFrag | TField::FlagHashBang);
Add(SUBDELIMS1, 0, featSafe, TField::FlagUser);
- Add(SUBDELIMS2, 0, featSafe, TField::FlagUser | TField::FlagQuery | TField::FlagFrag);
+ Add(SUBDELIMS2, 0, featSafe, TField::FlagUser | TField::FlagQuery | TField::FlagFrag | TField::FlagHashBang);
// control chars
AddRng(0x00, 0x20, TFeature::FeatureEncodeCntrl);
@@ -67,11 +67,11 @@ namespace NUri {
Add(' ', TFeature::FeatureEncodeSpace | TFeature::FeatureEncodeSpaceAsPlus);
Add("'\"\\", TFeature::FeatureEncodeForSQL);
- GetMutable(':').EncodeFld |= TField::FlagUser;
- GetMutable('?').EncodeFld |= TField::FlagPath;
- GetMutable('#').EncodeFld |= TField::FlagPath | TField::FlagQuery;
- GetMutable('&').EncodeFld |= TField::FlagQuery;
- GetMutable('+').EncodeFld |= TField::FlagQuery;
+ GetMutable(':').EncodeFld |= TField::FlagUser | TField::FlagHashBang;
+ GetMutable('?').EncodeFld |= TField::FlagPath | TField::FlagHashBang;
+ GetMutable('#').EncodeFld |= TField::FlagPath | TField::FlagQuery | TField::FlagHashBang;
+ GetMutable('&').EncodeFld |= TField::FlagQuery | TField::FlagHashBang;
+ GetMutable('+').EncodeFld |= TField::FlagQuery | TField::FlagHashBang;
}
// should we decode an encoded character