mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-07 21:59:54 +00:00
LibWeb: Remove unused LoadRequest facilities
We could probably do with removing LoadRequest altogether. But this just removes unused methods for now to make an upcoming HTTP header change a bit simpler.
This commit is contained in:
parent
1f5ffe04c8
commit
556364fd76
Notes:
github-actions[bot]
2025-11-26 14:16:44 +00:00
Author: https://github.com/trflynn89
Commit: 556364fd76
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6933
3 changed files with 1 additions and 84 deletions
|
|
@ -758,7 +758,6 @@ set(SOURCES
|
|||
Loader/ContentFilter.cpp
|
||||
Loader/FileRequest.cpp
|
||||
Loader/GeneratedPagesLoader.cpp
|
||||
Loader/LoadRequest.cpp
|
||||
Loader/ProxyMappings.cpp
|
||||
Loader/ResourceLoader.cpp
|
||||
MathML/AttributeNames.cpp
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Tim Flynn <trflynn89@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "LoadRequest.h"
|
||||
#include <LibWeb/Cookie/Cookie.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
||||
namespace Web {
|
||||
|
||||
static int s_resource_id = 0;
|
||||
|
||||
LoadRequest::LoadRequest()
|
||||
: m_id(s_resource_id++)
|
||||
{
|
||||
}
|
||||
|
||||
LoadRequest LoadRequest::create_for_url_on_page(URL::URL const& url, Page* page)
|
||||
{
|
||||
LoadRequest request;
|
||||
request.set_url(url);
|
||||
|
||||
if (page) {
|
||||
auto cookie = page->client().page_did_request_cookie(url, Cookie::Source::Http);
|
||||
if (!cookie.is_empty())
|
||||
request.set_header("Cookie", cookie.to_byte_string());
|
||||
request.set_page(*page);
|
||||
}
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -19,18 +19,7 @@ namespace Web {
|
|||
|
||||
class WEB_API LoadRequest {
|
||||
public:
|
||||
LoadRequest();
|
||||
|
||||
static LoadRequest create_for_url_on_page(URL::URL const& url, Page* page);
|
||||
|
||||
// The main resource is the file being displayed in a frame (unlike subresources like images, scripts, etc.)
|
||||
// If a main resource fails with an HTTP error, we may still display its content if non-empty, e.g a custom 404 page.
|
||||
bool is_main_resource() const { return m_main_resource; }
|
||||
void set_main_resource(bool b) { m_main_resource = b; }
|
||||
|
||||
bool is_valid() const { return m_url.has_value(); }
|
||||
|
||||
int id() const { return m_id; }
|
||||
LoadRequest() = default;
|
||||
|
||||
Optional<URL::URL> const& url() const { return m_url; }
|
||||
void set_url(Optional<URL::URL> url) { m_url = move(url); }
|
||||
|
|
@ -50,53 +39,17 @@ public:
|
|||
GC::Ptr<Page> page() const { return m_page.ptr(); }
|
||||
void set_page(Page& page) { m_page = page; }
|
||||
|
||||
unsigned hash() const
|
||||
{
|
||||
auto body_hash = string_hash((char const*)m_body.data(), m_body.size());
|
||||
auto body_and_headers_hash = pair_int_hash(body_hash, m_headers.hash());
|
||||
auto url_hash = m_url.has_value() ? m_url->to_byte_string().hash() : 0;
|
||||
auto url_and_method_hash = pair_int_hash(url_hash, m_method.hash());
|
||||
return pair_int_hash(body_and_headers_hash, url_and_method_hash);
|
||||
}
|
||||
|
||||
bool operator==(LoadRequest const& other) const
|
||||
{
|
||||
if (m_headers.size() != other.m_headers.size())
|
||||
return false;
|
||||
for (auto const& it : m_headers) {
|
||||
auto jt = other.m_headers.find(it.key);
|
||||
if (jt == other.m_headers.end())
|
||||
return false;
|
||||
if (it.value != jt->value)
|
||||
return false;
|
||||
}
|
||||
return m_url == other.m_url && m_method == other.m_method && m_body == other.m_body;
|
||||
}
|
||||
|
||||
void set_header(ByteString const& name, ByteString const& value) { m_headers.set(name, value); }
|
||||
ByteString header(ByteString const& name) const { return m_headers.get(name).value_or({}); }
|
||||
|
||||
HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> const& headers() const { return m_headers; }
|
||||
|
||||
private:
|
||||
int m_id { 0 };
|
||||
Optional<URL::URL> m_url;
|
||||
ByteString m_method { "GET" };
|
||||
HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> m_headers;
|
||||
ByteBuffer m_body;
|
||||
Core::ElapsedTimer m_load_timer;
|
||||
GC::Root<Page> m_page;
|
||||
bool m_main_resource { false };
|
||||
bool m_store_set_cookie_headers { true };
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace AK {
|
||||
|
||||
template<>
|
||||
struct Traits<Web::LoadRequest> : public DefaultTraits<Web::LoadRequest> {
|
||||
static unsigned hash(Web::LoadRequest const& request) { return request.hash(); }
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue