1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:57:44 +00:00

AK+LibHTTP: Ensure plus signs are percent encoded in query string

Adds a new optional parameter 'reserved_chars' to
AK::URL::percent_encode. This new optional parameter allows the caller
to specify custom characters to be percent encoded. This is then used
to percent encode plus signs by HttpRequest::to_raw_request.
This commit is contained in:
GeekFiftyFive 2022-03-31 16:29:25 +01:00 committed by Andreas Kling
parent 58398b1e12
commit 737f5b26b7
3 changed files with 7 additions and 7 deletions

View file

@ -104,7 +104,7 @@ public:
static u16 default_port_for_scheme(StringView);
static bool is_special_scheme(StringView);
static String percent_encode(StringView input, PercentEncodeSet set = PercentEncodeSet::Userinfo);
static String percent_encode(StringView input, PercentEncodeSet set = PercentEncodeSet::Userinfo, StringView reserved_chars = {});
static String percent_decode(StringView input);
bool operator==(URL const& other) const { return equals(other, ExcludeFragment::No); }
@ -122,7 +122,7 @@ private:
bool compute_validity() const;
String serialize_data_url() const;
static void append_percent_encoded_if_necessary(StringBuilder&, u32 code_point, PercentEncodeSet set = PercentEncodeSet::Userinfo);
static void append_percent_encoded_if_necessary(StringBuilder&, u32 code_point, PercentEncodeSet set = PercentEncodeSet::Userinfo, StringView reserved_chars = {});
static void append_percent_encoded(StringBuilder&, u32 code_point);
bool m_valid { false };