Ada 3.4.0
Fast spec-compliant URL parser
Loading...
Searching...
No Matches
ada::parser Namespace Reference

Internal URL parsing implementation. More...

Functions

template<typename result_type = url_aggregator>
result_type parse_url (std::string_view user_input, const result_type *base_url=nullptr)
 
template url_aggregator parse_url< url_aggregator > (std::string_view user_input, const url_aggregator *base_url)
 
template url parse_url< url > (std::string_view user_input, const url *base_url)
 
template<typename result_type = url_aggregator, bool store_values = true>
result_type parse_url_impl (std::string_view user_input, const result_type *base_url=nullptr)
 
template url_aggregator parse_url_impl< url_aggregator > (std::string_view user_input, const url_aggregator *base_url)
 
template url parse_url_impl< url > (std::string_view user_input, const url *base_url)
 
template url parse_url_impl (std::string_view user_input, const url *base_url=nullptr)
 
template url_aggregator parse_url_impl (std::string_view user_input, const url_aggregator *base_url=nullptr)
 

Detailed Description

Internal URL parsing implementation.

Contains the core URL parsing algorithm as specified by the WHATWG URL Standard. These functions are used internally by ada::parse().

Function Documentation

◆ parse_url()

template<typename result_type = url_aggregator>
result_type ada::parser::parse_url ( std::string_view user_input,
const result_type * base_url = nullptr )

Parses a URL string into a URL object.

Template Parameters
result_typeThe type of URL object to create (url or url_aggregator).
Parameters
user_inputThe URL string to parse (must be valid UTF-8).
base_urlOptional base URL for resolving relative URLs.
Returns
The parsed URL object. Check is_valid to determine if parsing succeeded.
See also
https://url.spec.whatwg.org/#concept-basic-url-parser

Definition at line 917 of file parser.cpp.

References parse_url_impl().

◆ parse_url< url >()

template url ada::parser::parse_url< url > ( std::string_view user_input,
const url * base_url )
extern

◆ parse_url< url_aggregator >()

template url_aggregator ada::parser::parse_url< url_aggregator > ( std::string_view user_input,
const url_aggregator * base_url )
extern

◆ parse_url_impl() [1/3]

◆ parse_url_impl() [2/3]

template url ada::parser::parse_url_impl ( std::string_view user_input,
const url * base_url = nullptr )

◆ parse_url_impl() [3/3]

template url_aggregator ada::parser::parse_url_impl ( std::string_view user_input,
const url_aggregator * base_url = nullptr )

◆ parse_url_impl< url >()

template url ada::parser::parse_url_impl< url > ( std::string_view user_input,
const url * base_url )
extern

◆ parse_url_impl< url_aggregator >()

template url_aggregator ada::parser::parse_url_impl< url_aggregator > ( std::string_view user_input,
const url_aggregator * base_url )
extern