Ada 3.1.0
Fast spec-compliant URL parser
|
#include <url_pattern_init.h>
Public Types | |
enum class | process_type : uint8_t { url , pattern } |
Public Member Functions | |
bool | operator== (const url_pattern_init &) const |
Static Public Member Functions | |
static tl::expected< url_pattern_init, errors > | process (url_pattern_init init, process_type type, std::optional< std::string_view > protocol=std::nullopt, std::optional< std::string_view > username=std::nullopt, std::optional< std::string_view > password=std::nullopt, std::optional< std::string_view > hostname=std::nullopt, std::optional< std::string_view > port=std::nullopt, std::optional< std::string_view > pathname=std::nullopt, std::optional< std::string_view > search=std::nullopt, std::optional< std::string_view > hash=std::nullopt) |
static tl::expected< std::string, errors > | process_protocol (std::string_view value, process_type type) |
static tl::expected< std::string, errors > | process_username (std::string_view value, process_type type) |
static tl::expected< std::string, errors > | process_password (std::string_view value, process_type type) |
static tl::expected< std::string, errors > | process_hostname (std::string_view value, process_type type) |
static tl::expected< std::string, errors > | process_port (std::string_view port, std::string_view protocol, process_type type) |
static tl::expected< std::string, errors > | process_pathname (std::string_view value, std::string_view protocol, process_type type) |
static tl::expected< std::string, errors > | process_search (std::string_view value, process_type type) |
static tl::expected< std::string, errors > | process_hash (std::string_view value, process_type type) |
Public Attributes | |
std::optional< std::string > | protocol {} |
std::optional< std::string > | username {} |
std::optional< std::string > | password {} |
std::optional< std::string > | hostname {} |
std::optional< std::string > | port {} |
std::optional< std::string > | pathname {} |
std::optional< std::string > | search {} |
std::optional< std::string > | hash {} |
std::optional< std::string > | base_url {} |
Definition at line 36 of file url_pattern_init.h.
|
strong |
Enumerator | |
---|---|
url | |
pattern |
Definition at line 37 of file url_pattern_init.h.
|
inline |
|
static |
Definition at line 9 of file url_pattern.cpp.
References ADA_ASSERT_TRUE, base_url, hash, hostname, ada::url_pattern_helpers::is_absolute_pathname(), ada::parse< url_aggregator >(), password, pathname, pattern, port, ada::url_pattern_helpers::process_base_url_string(), process_hash(), process_hostname(), process_password(), process_pathname(), process_port(), process_protocol(), process_search(), process_username(), protocol, search, ada::type_error, and username.
Referenced by ada::url_pattern< regex_provider >::match(), and ada::url_aggregator::parse_url_pattern_impl.
|
static |
Definition at line 349 of file url_pattern.cpp.
References ADA_ASSERT_TRUE, ada::url_pattern_helpers::canonicalize_hash(), and pattern.
Referenced by process().
|
static |
Definition at line 293 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_hostname(), and pattern.
Referenced by process().
|
static |
Definition at line 283 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_password(), and pattern.
Referenced by process().
|
static |
Definition at line 315 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_opaque_pathname(), ada::url_pattern_helpers::canonicalize_pathname(), pattern, and protocol.
Referenced by process().
|
static |
Definition at line 304 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_port_with_protocol(), pattern, port, and protocol.
Referenced by process().
|
static |
Definition at line 257 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_protocol(), and pattern.
Referenced by process().
|
static |
Definition at line 333 of file url_pattern.cpp.
References ADA_ASSERT_TRUE, ada::url_pattern_helpers::canonicalize_search(), and pattern.
Referenced by process().
|
static |
Definition at line 273 of file url_pattern.cpp.
References ada::url_pattern_helpers::canonicalize_username(), and pattern.
Referenced by process().
std::optional<std::string> ada::url_pattern_init::base_url {} |
Definition at line 119 of file url_pattern_init.h.
Referenced by ada::url_aggregator::parse_url_pattern_impl, and process().
std::optional<std::string> ada::url_pattern_init::hash {} |
Definition at line 117 of file url_pattern_init.h.
Referenced by operator==(), and process().
std::optional<std::string> ada::url_pattern_init::hostname {} |
Definition at line 109 of file url_pattern_init.h.
Referenced by operator==(), and process().
std::optional<std::string> ada::url_pattern_init::password {} |
Definition at line 107 of file url_pattern_init.h.
Referenced by operator==(), and process().
std::optional<std::string> ada::url_pattern_init::pathname {} |
Definition at line 113 of file url_pattern_init.h.
Referenced by operator==(), and process().
std::optional<std::string> ada::url_pattern_init::port {} |
Definition at line 111 of file url_pattern_init.h.
Referenced by operator==(), process(), and process_port().
std::optional<std::string> ada::url_pattern_init::protocol {} |
Definition at line 103 of file url_pattern_init.h.
Referenced by operator==(), ada::url_aggregator::parse_url_pattern_impl, process(), process_pathname(), and process_port().
std::optional<std::string> ada::url_pattern_init::search {} |
Definition at line 115 of file url_pattern_init.h.
Referenced by operator==(), and process().
std::optional<std::string> ada::url_pattern_init::username {} |
Definition at line 105 of file url_pattern_init.h.
Referenced by operator==(), and process().