mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:48:10 +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,6 +7,7 @@
|
|||
|
||||
#include <AK/Base64.h>
|
||||
#include <AK/StringBuilder.h>
|
||||
#include <AK/URLParser.h>
|
||||
#include <LibHTTP/HttpRequest.h>
|
||||
#include <LibHTTP/Job.h>
|
||||
|
||||
|
@ -57,7 +58,7 @@ ErrorOr<ByteBuffer> HttpRequest::to_raw_request() const
|
|||
TRY(builder.try_append(m_url.query()));
|
||||
}
|
||||
TRY(builder.try_append(" HTTP/1.1\r\nHost: "sv));
|
||||
TRY(builder.try_append(m_url.host()));
|
||||
TRY(builder.try_append(TRY(m_url.serialized_host())));
|
||||
if (m_url.port().has_value())
|
||||
TRY(builder.try_appendff(":{}", *m_url.port()));
|
||||
TRY(builder.try_append("\r\n"sv));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue