mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:17:44 +00:00
AK::URL: Fix setting the port number in the case it was the last element of the URL
This commit is contained in:
parent
2b8c7faee4
commit
dd198e1a29
2 changed files with 12 additions and 0 deletions
|
@ -207,4 +207,10 @@ TEST_CASE(trailing_slash_with_complete_url)
|
||||||
EXPECT_EQ(URL("http://a/b").complete_url("c").to_string(), "http://a/c");
|
EXPECT_EQ(URL("http://a/b").complete_url("c").to_string(), "http://a/c");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE(trailing_port)
|
||||||
|
{
|
||||||
|
URL url("http://example.com:8086");
|
||||||
|
EXPECT_EQ(url.port(), 8086);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_MAIN(URL)
|
TEST_MAIN(URL)
|
||||||
|
|
|
@ -236,6 +236,12 @@ bool URL::parse(const StringView& string)
|
||||||
m_fragment = String::copy(buffer);
|
m_fragment = String::copy(buffer);
|
||||||
if (state == State::InDataPayload)
|
if (state == State::InDataPayload)
|
||||||
m_data_payload = urldecode(String::copy(buffer));
|
m_data_payload = urldecode(String::copy(buffer));
|
||||||
|
if (state == State::InPort) {
|
||||||
|
auto port_opt = String::copy(buffer).to_uint();
|
||||||
|
if (port_opt.has_value())
|
||||||
|
m_port = port_opt.value();
|
||||||
|
}
|
||||||
|
|
||||||
if (m_query.is_null())
|
if (m_query.is_null())
|
||||||
m_query = "";
|
m_query = "";
|
||||||
if (m_fragment.is_null())
|
if (m_fragment.is_null())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue