LibProtocol: Use URL class in RequestClient::start_request argument

This changes the RequestClient::start_request() method to take a URL
object instead of a URL string as argument. All callers of the method
already had a URL object anyway, and start_request() in turn parses the
URL string back into a URL object. This removes this unnecessary
conversion.
This commit is contained in:
Max Wipfli 2021-06-05 11:59:04 +02:00 committed by Andreas Kling
parent 5b5f7bc360
commit 30cdebfa9e
Notes: sideshowbarker 2024-07-18 12:46:18 +09:00
5 changed files with 7 additions and 7 deletions

View file

@ -36,7 +36,7 @@ DownloadWidget::DownloadWidget(const URL& url)
}
m_elapsed_timer.start();
m_download = Web::ResourceLoader::the().protocol_client().start_request("GET", url.to_string());
m_download = Web::ResourceLoader::the().protocol_client().start_request("GET", url);
VERIFY(m_download);
m_download->on_progress = [this](Optional<u32> total_size, u32 downloaded_size) {
did_progress(total_size.value(), downloaded_size);

View file

@ -16,7 +16,7 @@ RequestClient::RequestClient()
}
template<typename RequestHashMapTraits>
RefPtr<Request> RequestClient::start_request(String const& method, String const& url, HashMap<String, String, RequestHashMapTraits> const& request_headers, ReadonlyBytes request_body)
RefPtr<Request> RequestClient::start_request(String const& method, URL const& url, HashMap<String, String, RequestHashMapTraits> const& request_headers, ReadonlyBytes request_body)
{
IPC::Dictionary header_dictionary;
for (auto& it : request_headers)
@ -82,5 +82,5 @@ void RequestClient::certificate_requested(i32 request_id)
}
template RefPtr<Protocol::Request> Protocol::RequestClient::start_request(String const& method, String const& url, HashMap<String, String> const& request_headers, ReadonlyBytes request_body);
template RefPtr<Protocol::Request> Protocol::RequestClient::start_request(String const& method, String const& url, HashMap<String, String, CaseInsensitiveStringTraits> const& request_headers, ReadonlyBytes request_body);
template RefPtr<Protocol::Request> Protocol::RequestClient::start_request(String const& method, URL const&, HashMap<String, String> const& request_headers, ReadonlyBytes request_body);
template RefPtr<Protocol::Request> Protocol::RequestClient::start_request(String const& method, URL const&, HashMap<String, String, CaseInsensitiveStringTraits> const& request_headers, ReadonlyBytes request_body);

View file

@ -22,7 +22,7 @@ class RequestClient final
public:
template<typename RequestHashMapTraits = Traits<String>>
RefPtr<Request> start_request(String const& method, String const& url, HashMap<String, String, RequestHashMapTraits> const& request_headers = {}, ReadonlyBytes request_body = {});
RefPtr<Request> start_request(String const& method, URL const&, HashMap<String, String, RequestHashMapTraits> const& request_headers = {}, ReadonlyBytes request_body = {});
bool stop_request(Badge<Request>, Request&);
bool set_certificate(Badge<Request>, Request&, String, String);

View file

@ -156,7 +156,7 @@ void ResourceLoader::load(const LoadRequest& request, Function<void(ReadonlyByte
headers.set(it.key, it.value);
}
auto protocol_request = protocol_client().start_request(request.method(), url.to_string(), headers, request.body());
auto protocol_request = protocol_client().start_request(request.method(), url, headers, request.body());
if (!protocol_request) {
if (error_callback)
error_callback("Failed to initiate load", {});

View file

@ -186,7 +186,7 @@ int main(int argc, char** argv)
Core::EventLoop loop;
auto protocol_client = Protocol::RequestClient::construct();
auto request = protocol_client->start_request(method, url.to_string(), request_headers, data ? StringView { data }.bytes() : ReadonlyBytes {});
auto request = protocol_client->start_request(method, url, request_headers, data ? StringView { data }.bytes() : ReadonlyBytes {});
if (!request) {
warnln("Failed to start request for '{}'", url_str);
return 1;