/* * Copyright (c) 2025, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::ContentSecurityPolicy::Directives { struct SourceExpressionParseResult { Optional scheme_part; Optional host_part; Optional port_part; Optional path_part; Optional keyword_source; Optional base64_value; Optional hash_algorithm; }; enum class Production { SchemeSource, HostSource, KeywordSource, NonceSource, HashSource, }; Optional parse_source_expression(Production, StringView); }