mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:07:34 +00:00
AK: Serialize URL hosts with 'concept-host-serializer'
In order to follow spec text to achieve this, we need to change the underlying representation of a host in AK::URL to deserialized format. Before this, we were parsing the host and then immediately serializing it again. Making that change resulted in a whole bunch of fallout. After this change, callers can access the serialized data through this concept-host-serializer. The functional end result of this change is that IPv6 hosts are now correctly serialized to be surrounded with '[' and ']'.
This commit is contained in:
parent
768f070b86
commit
8751be09f9
36 changed files with 175 additions and 143 deletions
7
AK/URL.h
7
AK/URL.h
|
@ -79,7 +79,8 @@ public:
|
|||
DeprecatedString const& scheme() const { return m_scheme; }
|
||||
DeprecatedString username(ApplyPercentDecoding = ApplyPercentDecoding::Yes) const;
|
||||
DeprecatedString password(ApplyPercentDecoding = ApplyPercentDecoding::Yes) const;
|
||||
DeprecatedString const& host() const { return m_host; }
|
||||
Host const& host() const { return m_host; }
|
||||
ErrorOr<String> serialized_host() const;
|
||||
DeprecatedString basename(ApplyPercentDecoding = ApplyPercentDecoding::Yes) const;
|
||||
DeprecatedString query(ApplyPercentDecoding = ApplyPercentDecoding::No) const;
|
||||
DeprecatedString fragment(ApplyPercentDecoding = ApplyPercentDecoding::Yes) const;
|
||||
|
@ -101,7 +102,7 @@ public:
|
|||
void set_scheme(DeprecatedString);
|
||||
void set_username(DeprecatedString, ApplyPercentEncoding = ApplyPercentEncoding::Yes);
|
||||
void set_password(DeprecatedString, ApplyPercentEncoding = ApplyPercentEncoding::Yes);
|
||||
void set_host(DeprecatedString);
|
||||
void set_host(Host);
|
||||
void set_port(Optional<u16>);
|
||||
void set_paths(Vector<DeprecatedString>, ApplyPercentEncoding = ApplyPercentEncoding::Yes);
|
||||
void set_query(DeprecatedString, ApplyPercentEncoding = ApplyPercentEncoding::Yes);
|
||||
|
@ -178,7 +179,7 @@ private:
|
|||
DeprecatedString m_password;
|
||||
|
||||
// A URL’s host is null or a host. It is initially null.
|
||||
DeprecatedString m_host;
|
||||
Host m_host;
|
||||
|
||||
// A URL’s port is either null or a 16-bit unsigned integer that identifies a networking port. It is initially null.
|
||||
Optional<u16> m_port;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue