mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
The spec declares these as a byte sequence, which we then implemented as a ByteBuffer. This has become pretty awkward to deal with, as evidenced by the plethora of `MUST(ByteBuffer::copy(...))` and `.bytes()` calls everywhere inside Fetch. We would then treat the bytes as a string anyways by wrapping them in StringView everywhere. We now store these as a ByteString. This is more comfortable to deal with, and we no longer need to continually copy underlying storage (as ByteString is ref-counted). This work is largely preparatory for an upcoming HTTP header refactor.
20 lines
464 B
C++
20 lines
464 B
C++
/*
|
|
* Copyright (c) 2022, Linus Groh <linusg@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/ByteString.h>
|
|
#include <AK/StringView.h>
|
|
#include <LibWeb/Export.h>
|
|
|
|
namespace Web::Fetch::Infrastructure {
|
|
|
|
[[nodiscard]] bool is_method(StringView);
|
|
[[nodiscard]] WEB_API bool is_cors_safelisted_method(StringView);
|
|
[[nodiscard]] bool is_forbidden_method(StringView);
|
|
[[nodiscard]] ByteString normalize_method(StringView);
|
|
|
|
}
|