From a91c17c0ebd2788a95b9f0e9a4c618a025added3 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 25 Nov 2019 21:20:03 +0100 Subject: [PATCH] AK: Add a query string component to URL It's missing query string parsing from new URLs, but you can set the query string programmatically, and it will be part of the URL when serialized through to_string(). --- AK/URL.cpp | 4 ++++ AK/URL.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/AK/URL.cpp b/AK/URL.cpp index 79557cea32..96c7afe202 100644 --- a/AK/URL.cpp +++ b/AK/URL.cpp @@ -144,6 +144,10 @@ String URL::to_string() const } } builder.append(m_path); + if (!m_query.is_empty()) { + builder.append('?'); + builder.append(m_query); + } return builder.to_string(); } diff --git a/AK/URL.h b/AK/URL.h index 57af992cbe..cc85f1b832 100644 --- a/AK/URL.h +++ b/AK/URL.h @@ -5,6 +5,8 @@ namespace AK { +// FIXME: URL needs query string parsing. + class URL { public: URL() {} @@ -22,11 +24,13 @@ public: String protocol() const { return m_protocol; } String host() const { return m_host; } String path() const { return m_path; } + String query() const { return m_query; } u16 port() const { return m_port; } void set_protocol(const String& protocol) { m_protocol = protocol; } void set_host(const String& host) { m_host = host; } void set_path(const String& path) { m_path = path; } + void set_query(const String& query) { m_query = query; } void set_port(u16 port) { m_port = port; } String to_string() const; @@ -41,6 +45,7 @@ private: String m_protocol; String m_host; String m_path; + String m_query; }; }