73 bool set_href(std::string_view input);
74 bool set_host(std::string_view input);
79 bool set_port(std::string_view input);
82 void set_hash(std::string_view input);
95 [[nodiscard]] std::
string get_origin() const override;
104 [[nodiscard]] constexpr std::string_view
get_href() const noexcept
168 [[nodiscard]] constexpr std::string_view
get_pathname() const
229 [[nodiscard]] std::
string to_string() const override;
242 [[nodiscard]] constexpr
bool validate() const noexcept;
254 [[nodiscard]] constexpr
bool has_hostname() const noexcept;
272 [[nodiscard]] constexpr
bool has_port() const noexcept;
278 [[nodiscard]] constexpr
bool has_password() const noexcept;
284 [[nodiscard]] constexpr
bool has_hash() const noexcept override;
290 [[nodiscard]] constexpr
bool has_search() const noexcept override;
320#if ADA_INCLUDE_URL_PATTERN
322 template <url_pattern_regex::regex_concept regex_prov
ider>
323 friend tl::expected<url_pattern<regex_provider>,
errors>
324 parse_url_pattern_impl(
325 std::variant<std::string_view, url_pattern_init> &&input,
326 const std::string_view *base_url,
const url_pattern_options *options);
329 std::string buffer{};
339 inline
void add_authority_slashes_if_needed();
345 constexpr
void reserve(uint32_t capacity);
348 bool check_trailing_content) override;
351 return this->parse_port(view,
false);
360 [[nodiscard]]
bool parse_ipv4(std::string_view input,
bool in_place);
366 [[nodiscard]]
bool parse_ipv6(std::string_view input);
372 [[nodiscard]]
bool parse_opaque_host(std::string_view input);
380 [[nodiscard]]
constexpr bool cannot_have_credentials_or_port()
const;
382 template <
bool overr
ide_hostname = false>
383 bool set_host_or_hostname(std::string_view input);
387 inline void update_base_authority(std::string_view base_buffer,
388 const url_components &base);
389 inline void update_unencoded_base_hash(std::string_view input);
390 inline void update_base_hostname(std::string_view input);
391 inline void update_base_search(std::string_view input);
392 inline void update_base_search(std::string_view input,
393 const uint8_t *query_percent_encode_set);
394 inline void update_base_pathname(std::string_view input);
395 inline void update_base_username(std::string_view input);
396 inline void append_base_username(std::string_view input);
397 inline void update_base_password(std::string_view input);
398 inline void append_base_password(std::string_view input);
399 inline void update_base_port(uint32_t input);
400 inline void append_base_pathname(std::string_view input);
401 [[nodiscard]]
inline uint32_t retrieve_base_port()
const;
402 constexpr void clear_hostname();
403 constexpr void clear_password();
404 constexpr void clear_pathname()
override;
405 [[nodiscard]]
constexpr bool has_dash_dot() const noexcept;
406 void delete_dash_dot();
407 inline
void consume_prepared_path(std::string_view input);
408 template <
bool has_state_override = false>
410 std::string_view input);
412 std::string_view input);
413 [[nodiscard]] constexpr
bool has_authority() const noexcept;
414 constexpr
void set_protocol_as_file();
415 inline
void set_scheme(std::string_view new_scheme);
420 inline
void set_scheme_from_view_with_colon(
421 std::string_view new_scheme_with_colon);
424 inline
void update_host_to_base_host(const std::string_view input);