mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 09:00:22 +00:00
LibWeb: Remove OOM propagation from Fetch::Infrastructure::HTTP
This commit is contained in:
parent
1ffda6a805
commit
c9a461ee75
Notes:
sideshowbarker
2024-07-16 20:51:53 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/c9a461ee75 Pull-request: https://github.com/SerenityOS/serenity/pull/24124
5 changed files with 12 additions and 12 deletions
|
@ -16,14 +16,14 @@ TEST_CASE(collect_an_http_quoted_string)
|
|||
auto test = "\"\""_string;
|
||||
GenericLexer lexer { test };
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"\""_string);
|
||||
}
|
||||
{
|
||||
auto test = "\"abc\""_string;
|
||||
GenericLexer lexer { test };
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"abc\""_string);
|
||||
}
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ TEST_CASE(collect_an_http_quoted_string)
|
|||
GenericLexer lexer { test };
|
||||
lexer.ignore(4);
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"abc\""_string);
|
||||
}
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ TEST_CASE(collect_an_http_quoted_string)
|
|||
GenericLexer lexer { test };
|
||||
lexer.ignore(4);
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"abc\""_string);
|
||||
}
|
||||
{
|
||||
|
@ -50,14 +50,14 @@ TEST_CASE(collect_an_http_quoted_string)
|
|||
GenericLexer lexer { test };
|
||||
lexer.ignore(4);
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"abc\""_string);
|
||||
}
|
||||
{
|
||||
auto test = "\"abc\" bar"_string;
|
||||
GenericLexer lexer { test };
|
||||
|
||||
auto result = MUST(Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer));
|
||||
auto result = Web::Fetch::Infrastructure::collect_an_http_quoted_string(lexer);
|
||||
EXPECT_EQ(result, "\"abc\""_string);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
namespace Web::Fetch::Infrastructure {
|
||||
|
||||
// https://fetch.spec.whatwg.org/#collect-an-http-quoted-string
|
||||
ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value)
|
||||
String collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value)
|
||||
{
|
||||
// To collect an HTTP quoted string from a string input, given a position variable position and optionally an extract-value flag, run these steps:
|
||||
// 1. Let positionStart be position.
|
||||
|
@ -69,10 +69,10 @@ ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStr
|
|||
|
||||
// 6. If the extract-value flag is set, then return value.
|
||||
if (extract_value == HttpQuotedStringExtractValue::Yes)
|
||||
return value.to_string();
|
||||
return MUST(value.to_string());
|
||||
|
||||
// 7. Return the code points from positionStart to position, inclusive, within input.
|
||||
return String::from_utf8(lexer.input().substring_view(position_start, lexer.tell() - position_start));
|
||||
return MUST(String::from_utf8(lexer.input().substring_view(position_start, lexer.tell() - position_start)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -37,6 +37,6 @@ enum class HttpQuotedStringExtractValue {
|
|||
Yes,
|
||||
};
|
||||
|
||||
ErrorOr<String> collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value = HttpQuotedStringExtractValue::No);
|
||||
[[nodiscard]] String collect_an_http_quoted_string(GenericLexer& lexer, HttpQuotedStringExtractValue extract_value = HttpQuotedStringExtractValue::No);
|
||||
|
||||
}
|
||||
|
|
|
@ -150,7 +150,7 @@ Optional<Vector<String>> get_decode_and_split_header_value(ReadonlyBytes value)
|
|||
// 1. If the code point at position within input is U+0022 ("), then:
|
||||
if (lexer.peek() == '"') {
|
||||
// 1. Append the result of collecting an HTTP quoted string from input, given position, to temporaryValue.
|
||||
temporary_value_builder.append(MUST(collect_an_http_quoted_string(lexer)));
|
||||
temporary_value_builder.append(collect_an_http_quoted_string(lexer));
|
||||
|
||||
// 2. If position is not past the end of input, then continue.
|
||||
if (!lexer.is_eof())
|
||||
|
|
|
@ -152,7 +152,7 @@ ErrorOr<Optional<MimeType>> MimeType::parse(StringView string)
|
|||
// 8. If the code point at position within input is U+0022 ("), then:
|
||||
if (lexer.peek() == '"') {
|
||||
// 1. Set parameterValue to the result of collecting an HTTP quoted string from input, given position and the extract-value flag.
|
||||
parameter_value = TRY(Fetch::Infrastructure::collect_an_http_quoted_string(lexer, Fetch::Infrastructure::HttpQuotedStringExtractValue::Yes));
|
||||
parameter_value = Fetch::Infrastructure::collect_an_http_quoted_string(lexer, Fetch::Infrastructure::HttpQuotedStringExtractValue::Yes);
|
||||
|
||||
// 2. Collect a sequence of code points that are not U+003B (;) from input, given position.
|
||||
lexer.ignore_until(';');
|
||||
|
|
Loading…
Reference in a new issue