Ada 2.9.0
Fast spec-compliant URL parser
Loading...
Searching...
No Matches
ada.cpp File Reference
#include "ada.h"
#include <algorithm>
#include <cstdint>
#include <cstring>
#include <array>
#include <string>
#include <string_view>
#include <charconv>
#include <sstream>
#include <numeric>
#include <optional>
#include <limits>

Go to the source code of this file.

Classes

struct  ada::idna::directions
 
struct  ada_string
 
struct  ada_owned_string
 
struct  ada_string_pair
 
struct  ada_url_components
 

Namespaces

namespace  ada
 
namespace  ada::checkers
 Includes the definitions for validation functions.
 
namespace  ada::idna
 
namespace  ada::unicode
 Includes the declarations for unicode operations.
 
namespace  ada::serializers
 Includes the definitions for URL serializers.
 
namespace  ada::helpers
 Includes the definitions for helper functions.
 
namespace  ada::parser
 Includes the definitions for supported parsers.
 

Macros

#define ADA_IDNA_TABLES_H
 
#define ADA_IDNA_NORMALIZATION_TABLES_H
 

Typedefs

typedef void * ada_url
 
typedef void * ada_url_search_params
 
typedef void * ada_strings
 
typedef void * ada_url_search_params_keys_iter
 
typedef void * ada_url_search_params_values_iter
 
typedef void * ada_url_search_params_entries_iter
 

Enumerations

enum  ada::idna::direction : uint8_t {
  ada::idna::NONE , ada::idna::BN , ada::idna::CS , ada::idna::ES ,
  ada::idna::ON , ada::idna::EN , ada::idna::L , ada::idna::R ,
  ada::idna::NSM , ada::idna::AL , ada::idna::AN , ada::idna::ET ,
  ada::idna::WS , ada::idna::RLO , ada::idna::LRO , ada::idna::PDF ,
  ada::idna::RLE , ada::idna::RLI , ada::idna::FSI , ada::idna::PDI ,
  ada::idna::LRI , ada::idna::B , ada::idna::S , ada::idna::LRE ,
  ada::idna::NONE , ada::idna::BN , ada::idna::CS , ada::idna::ES ,
  ada::idna::ON , ada::idna::EN , ada::idna::L , ada::idna::R ,
  ada::idna::NSM , ada::idna::AL , ada::idna::AN , ada::idna::ET ,
  ada::idna::WS , ada::idna::RLO , ada::idna::LRO , ada::idna::PDF ,
  ada::idna::RLE , ada::idna::RLI , ada::idna::FSI , ada::idna::PDI ,
  ada::idna::LRI , ada::idna::B , ada::idna::S , ada::idna::LRE
}
 

Functions

size_t ada::idna::utf8_to_utf32 (const char *buf, size_t len, char32_t *utf32_output)
 
size_t ada::idna::utf8_length_from_utf32 (const char32_t *buf, size_t len)
 
size_t ada::idna::utf32_length_from_utf8 (const char *buf, size_t len)
 
size_t ada::idna::utf32_to_utf8 (const char32_t *buf, size_t len, char *utf8_output)
 
uint32_t ada::idna::find_range_index (uint32_t key)
 
bool ada::idna::ascii_has_upper_case (char *input, size_t length)
 
void ada::idna::ascii_map (char *input, size_t length)
 
std::u32string ada::idna::map (std::u32string_view input)
 
std::pair< bool, size_t > ada::idna::compute_decomposition_length (const std::u32string_view input) noexcept
 
void ada::idna::decompose (std::u32string &input, size_t additional_elements)
 
uint8_t ada::idna::get_ccc (char32_t c) noexcept
 
void ada::idna::sort_marks (std::u32string &input)
 
void ada::idna::decompose_nfc (std::u32string &input)
 
void ada::idna::compose (std::u32string &input)
 
void ada::idna::normalize (std::u32string &input)
 
static constexpr int32_t ada::idna::char_to_digit_value (char value)
 
static constexpr char ada::idna::digit_to_char (int32_t digit)
 
static constexpr int32_t ada::idna::adapt (int32_t d, int32_t n, bool firsttime)
 
bool ada::idna::punycode_to_utf32 (std::string_view input, std::u32string &out)
 
bool ada::idna::verify_punycode (std::string_view input)
 
bool ada::idna::utf32_to_punycode (std::u32string_view input, std::string &out)
 
static direction ada::idna::find_direction (uint32_t code_point) noexcept
 
static size_t ada::idna::find_last_not_of_nsm (const std::u32string_view label) noexcept
 
static bool ada::idna::is_rtl_label (const std::u32string_view label) noexcept
 
bool ada::idna::is_label_valid (std::u32string_view label)
 
bool ada::idna::begins_with (std::u32string_view view, std::u32string_view prefix)
 
bool ada::idna::begins_with (std::string_view view, std::string_view prefix)
 
bool constexpr ada::idna::is_ascii (std::u32string_view view)
 
bool constexpr ada::idna::is_ascii (std::string_view view)
 
bool ada::idna::is_forbidden_domain_code_point (const char c) noexcept
 
bool ada::idna::contains_forbidden_domain_code_point (std::string_view ascii_string)
 
static std::string ada::idna::from_ascii_to_ascii (std::string_view ut8_string)
 
std::string ada::idna::to_ascii (std::string_view ut8_string)
 
std::string ada::idna::to_unicode (std::string_view input)
 
constexpr bool ada::unicode::is_tabs_or_newline (char c) noexcept
 
constexpr uint64_t ada::unicode::broadcast (uint8_t v) noexcept
 
void ada::serializers::find_longest_sequence_of_ipv6_pieces (const std::array< uint16_t, 8 > &address, size_t &compress, size_t &compress_length) noexcept
 
std::string ada::serializers::ipv6 (const std::array< uint16_t, 8 > &address) noexcept
 
std::string ada::serializers::ipv4 (uint64_t address) noexcept
 
template<class result_type >
ada_warn_unused tl::expected< result_type, ada::errorsada::parse (std::string_view input, const result_type *base_url)
 
template ada::result< urlada::parse< url > (std::string_view input, const url *base_url)
 
template ada::result< url_aggregatorada::parse< url_aggregator > (std::string_view input, const url_aggregator *base_url)
 
std::string ada::href_from_file (std::string_view path)
 
bool ada::can_parse (std::string_view input, const std::string_view *base_input=nullptr)
 
ada_warn_unused std::string ada::to_string (encoding_type type)
 
ada_unused std::string ada::helpers::get_state (ada::state s)
 
ada_really_inline int ada::helpers::trailing_zeroes (uint32_t input_num) noexcept
 
ada_really_inline size_t ada::helpers::find_next_host_delimiter_special (std::string_view view, size_t location) noexcept
 
ada_really_inline size_t ada::helpers::find_next_host_delimiter (std::string_view view, size_t location) noexcept
 
ada_warn_unused std::string ada::to_string (ada::state s)
 
template<typename result_type = ada::url_aggregator, bool store_values = true>
result_type ada::parser::parse_url_impl (std::string_view user_input, const result_type *base_url=nullptr)
 
template url ada::parser::parse_url_impl (std::string_view user_input, const url *base_url=nullptr)
 
template url_aggregator ada::parser::parse_url_impl (std::string_view user_input, const url_aggregator *base_url=nullptr)
 
template<typename result_type = ada::url_aggregator>
result_type ada::parser::parse_url (std::string_view user_input, const result_type *base_url=nullptr)
 
template url ada::parser::parse_url< url > (std::string_view user_input, const url *base_url)
 
template url_aggregator ada::parser::parse_url< url_aggregator > (std::string_view user_input, const url_aggregator *base_url)
 
ada::result< ada::url_aggregator > & get_instance (void *result) noexcept
 
ada_string ada_string_create (const char *data, size_t length)
 
ada_url ada_parse (const char *input, size_t length) noexcept
 
ada_url ada_parse_with_base (const char *input, size_t input_length, const char *base, size_t base_length) noexcept
 
bool ada_can_parse (const char *input, size_t length) noexcept
 
bool ada_can_parse_with_base (const char *input, size_t input_length, const char *base, size_t base_length) noexcept
 
void ada_free (ada_url result) noexcept
 
ada_url ada_copy (ada_url input) noexcept
 
bool ada_is_valid (ada_url result) noexcept
 
ada_owned_string ada_get_origin (ada_url result) noexcept
 
void ada_free_owned_string (ada_owned_string owned) noexcept
 
ada_string ada_get_href (ada_url result) noexcept
 
ada_string ada_get_username (ada_url result) noexcept
 
ada_string ada_get_password (ada_url result) noexcept
 
ada_string ada_get_port (ada_url result) noexcept
 
ada_string ada_get_hash (ada_url result) noexcept
 
ada_string ada_get_host (ada_url result) noexcept
 
ada_string ada_get_hostname (ada_url result) noexcept
 
ada_string ada_get_pathname (ada_url result) noexcept
 
ada_string ada_get_search (ada_url result) noexcept
 
ada_string ada_get_protocol (ada_url result) noexcept
 
uint8_t ada_get_host_type (ada_url result) noexcept
 
uint8_t ada_get_scheme_type (ada_url result) noexcept
 
bool ada_set_href (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_host (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_hostname (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_protocol (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_username (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_password (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_port (ada_url result, const char *input, size_t length) noexcept
 
bool ada_set_pathname (ada_url result, const char *input, size_t length) noexcept
 
void ada_set_search (ada_url result, const char *input, size_t length) noexcept
 
void ada_set_hash (ada_url result, const char *input, size_t length) noexcept
 
void ada_clear_port (ada_url result) noexcept
 
void ada_clear_hash (ada_url result) noexcept
 
void ada_clear_search (ada_url result) noexcept
 
bool ada_has_credentials (ada_url result) noexcept
 
bool ada_has_empty_hostname (ada_url result) noexcept
 
bool ada_has_hostname (ada_url result) noexcept
 
bool ada_has_non_empty_username (ada_url result) noexcept
 
bool ada_has_non_empty_password (ada_url result) noexcept
 
bool ada_has_port (ada_url result) noexcept
 
bool ada_has_password (ada_url result) noexcept
 
bool ada_has_hash (ada_url result) noexcept
 
bool ada_has_search (ada_url result) noexcept
 
const ada_url_componentsada_get_components (ada_url result) noexcept
 
ada_owned_string ada_idna_to_unicode (const char *input, size_t length)
 
ada_owned_string ada_idna_to_ascii (const char *input, size_t length)
 
ada_url_search_params ada_parse_search_params (const char *input, size_t length)
 
void ada_free_search_params (ada_url_search_params result)
 
ada_owned_string ada_search_params_to_string (ada_url_search_params result)
 
size_t ada_search_params_size (ada_url_search_params result)
 
void ada_search_params_sort (ada_url_search_params result)
 
void ada_search_params_reset (ada_url_search_params result, const char *input, size_t length)
 
void ada_search_params_append (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
void ada_search_params_set (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
void ada_search_params_remove (ada_url_search_params result, const char *key, size_t key_length)
 
void ada_search_params_remove_value (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
bool ada_search_params_has (ada_url_search_params result, const char *key, size_t key_length)
 
bool ada_search_params_has_value (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
ada_string ada_search_params_get (ada_url_search_params result, const char *key, size_t key_length)
 
ada_strings ada_search_params_get_all (ada_url_search_params result, const char *key, size_t key_length)
 
ada_url_search_params_keys_iter ada_search_params_get_keys (ada_url_search_params result)
 
ada_url_search_params_values_iter ada_search_params_get_values (ada_url_search_params result)
 
ada_url_search_params_entries_iter ada_search_params_get_entries (ada_url_search_params result)
 
void ada_free_strings (ada_strings result)
 
size_t ada_strings_size (ada_strings result)
 
ada_string ada_strings_get (ada_strings result, size_t index)
 
void ada_free_search_params_keys_iter (ada_url_search_params_keys_iter result)
 
ada_string ada_search_params_keys_iter_next (ada_url_search_params_keys_iter result)
 
bool ada_search_params_keys_iter_has_next (ada_url_search_params_keys_iter result)
 
void ada_free_search_params_values_iter (ada_url_search_params_values_iter result)
 
ada_string ada_search_params_values_iter_next (ada_url_search_params_values_iter result)
 
bool ada_search_params_values_iter_has_next (ada_url_search_params_values_iter result)
 
void ada_free_search_params_entries_iter (ada_url_search_params_entries_iter result)
 
ada_string_pair ada_search_params_entries_iter_next (ada_url_search_params_entries_iter result)
 
bool ada_search_params_entries_iter_has_next (ada_url_search_params_entries_iter result)
 

Variables

static constexpr std::array< uint8_t, 256 > ada::checkers::path_signature_table
 
const uint32_t ada::idna::mappings [5164]
 
const uint32_t ada::idna::table [8000][2]
 
const uint8_t ada::idna::decomposition_index [4352]
 
const uint16_t ada::idna::decomposition_block [67][257]
 
const char32_t ada::idna::decomposition_data [9102]
 
const uint8_t ada::idna::canonical_combining_class_index [4352]
 
const uint8_t ada::idna::canonical_combining_class_block [67][256]
 
const uint8_t ada::idna::composition_index [4352]
 
const uint16_t ada::idna::composition_block [67][257]
 
const char32_t ada::idna::composition_data [1883]
 
constexpr char32_t ada::idna::hangul_sbase = 0xAC00
 
constexpr char32_t ada::idna::hangul_tbase = 0x11A7
 
constexpr char32_t ada::idna::hangul_vbase = 0x1161
 
constexpr char32_t ada::idna::hangul_lbase = 0x1100
 
constexpr char32_t ada::idna::hangul_lcount = 19
 
constexpr char32_t ada::idna::hangul_vcount = 21
 
constexpr char32_t ada::idna::hangul_tcount = 28
 
constexpr char32_t ada::idna::hangul_ncount = hangul_vcount * hangul_tcount
 
constexpr char32_t ada::idna::hangul_scount
 
constexpr int32_t ada::idna::base = 36
 
constexpr int32_t ada::idna::tmin = 1
 
constexpr int32_t ada::idna::tmax = 26
 
constexpr int32_t ada::idna::skew = 38
 
constexpr int32_t ada::idna::damp = 700
 
constexpr int32_t ada::idna::initial_bias = 72
 
constexpr uint32_t ada::idna::initial_n = 128
 
static directions ada::idna::dir_table []
 
static constexpr uint8_t ada::idna::is_forbidden_domain_code_point_table []
 
static constexpr std::array< uint8_t, 256 > ada::unicode::is_forbidden_host_code_point_table
 
static constexpr std::array< uint8_t, 256 > ada::unicode::is_forbidden_domain_code_point_table
 
static constexpr std::array< uint8_t, 256 > ada::unicode::is_forbidden_domain_code_point_table_or_upper
 
static constexpr std::array< bool, 256 > ada::unicode::is_alnum_plus_table
 
constexpr std::string_view ada::unicode::table_is_double_dot_path_segment []
 
static constexpr char ada::unicode::hex_to_binary_table []
 
static constexpr std::array< uint8_t, 256 > ada::helpers::special_host_delimiters
 
static constexpr std::array< uint8_t, 256 > ada::helpers::host_delimiters
 
static constexpr std::array< uint8_t, 256 > ada::helpers::authority_delimiter_special
 
static constexpr std::array< uint8_t, 256 > ada::helpers::authority_delimiter
 

Macro Definition Documentation

◆ ADA_IDNA_NORMALIZATION_TABLES_H

#define ADA_IDNA_NORMALIZATION_TABLES_H

Definition at line 2856 of file ada.cpp.

◆ ADA_IDNA_TABLES_H

#define ADA_IDNA_TABLES_H

Definition at line 332 of file ada.cpp.

Typedef Documentation

◆ ada_strings

typedef void* ada_strings

Definition at line 14925 of file ada.cpp.

◆ ada_url

typedef void* ada_url

Definition at line 14923 of file ada.cpp.

◆ ada_url_search_params

typedef void* ada_url_search_params

Definition at line 14924 of file ada.cpp.

◆ ada_url_search_params_entries_iter

Definition at line 14928 of file ada.cpp.

◆ ada_url_search_params_keys_iter

Definition at line 14926 of file ada.cpp.

◆ ada_url_search_params_values_iter

Definition at line 14927 of file ada.cpp.

Function Documentation

◆ ada_can_parse()

bool ada_can_parse ( const char * input,
size_t length )
noexcept

Definition at line 15000 of file ada.cpp.

◆ ada_can_parse_with_base()

bool ada_can_parse_with_base ( const char * input,
size_t input_length,
const char * base,
size_t base_length )
noexcept

Definition at line 15004 of file ada.cpp.

◆ ada_clear_hash()

void ada_clear_hash ( ada_url result)
noexcept

Removes the hash of the URL.

Despite ada_set_hash method, this function allows the complete removal of the hash attribute, even if it has a value of #.

Definition at line 15261 of file ada.cpp.

◆ ada_clear_port()

void ada_clear_port ( ada_url result)
noexcept

Definition at line 15248 of file ada.cpp.

◆ ada_clear_search()

void ada_clear_search ( ada_url result)
noexcept

Removes the search of the URL.

Despite ada_set_search method, this function allows the complete removal of the search attribute, even if it has a value of ?.

Definition at line 15274 of file ada.cpp.

◆ ada_copy()

ada_url ada_copy ( ada_url input)
noexcept

Definition at line 15015 of file ada.cpp.

◆ ada_free()

void ada_free ( ada_url result)
noexcept

Definition at line 15010 of file ada.cpp.

◆ ada_free_owned_string()

void ada_free_owned_string ( ada_owned_string owned)
noexcept

Definition at line 15041 of file ada.cpp.

◆ ada_free_search_params()

void ada_free_search_params ( ada_url_search_params result)

Definition at line 15387 of file ada.cpp.

◆ ada_free_search_params_entries_iter()

void ada_free_search_params_entries_iter ( ada_url_search_params_entries_iter result)

Definition at line 15630 of file ada.cpp.

◆ ada_free_search_params_keys_iter()

void ada_free_search_params_keys_iter ( ada_url_search_params_keys_iter result)

Definition at line 15575 of file ada.cpp.

◆ ada_free_search_params_values_iter()

void ada_free_search_params_values_iter ( ada_url_search_params_values_iter result)

Definition at line 15602 of file ada.cpp.

◆ ada_free_strings()

void ada_free_strings ( ada_strings result)

Definition at line 15553 of file ada.cpp.

◆ ada_get_components()

const ada_url_components * ada_get_components ( ada_url result)
noexcept

Definition at line 15354 of file ada.cpp.

◆ ada_get_hash()

ada_string ada_get_hash ( ada_url result)
noexcept

Definition at line 15081 of file ada.cpp.

◆ ada_get_host()

ada_string ada_get_host ( ada_url result)
noexcept

Definition at line 15090 of file ada.cpp.

◆ ada_get_host_type()

uint8_t ada_get_host_type ( ada_url result)
noexcept

Definition at line 15135 of file ada.cpp.

◆ ada_get_hostname()

ada_string ada_get_hostname ( ada_url result)
noexcept

Definition at line 15099 of file ada.cpp.

◆ ada_get_href()

ada_string ada_get_href ( ada_url result)
noexcept

Definition at line 15045 of file ada.cpp.

◆ ada_get_origin()

ada_owned_string ada_get_origin ( ada_url result)
noexcept

Definition at line 15026 of file ada.cpp.

◆ ada_get_password()

ada_string ada_get_password ( ada_url result)
noexcept

Definition at line 15063 of file ada.cpp.

◆ ada_get_pathname()

ada_string ada_get_pathname ( ada_url result)
noexcept

Definition at line 15108 of file ada.cpp.

◆ ada_get_port()

ada_string ada_get_port ( ada_url result)
noexcept

Definition at line 15072 of file ada.cpp.

◆ ada_get_protocol()

ada_string ada_get_protocol ( ada_url result)
noexcept

Definition at line 15126 of file ada.cpp.

◆ ada_get_scheme_type()

uint8_t ada_get_scheme_type ( ada_url result)
noexcept

Definition at line 15143 of file ada.cpp.

◆ ada_get_search()

ada_string ada_get_search ( ada_url result)
noexcept

Definition at line 15117 of file ada.cpp.

◆ ada_get_username()

ada_string ada_get_username ( ada_url result)
noexcept

Definition at line 15054 of file ada.cpp.

◆ ada_has_credentials()

bool ada_has_credentials ( ada_url result)
noexcept

Definition at line 15281 of file ada.cpp.

◆ ada_has_empty_hostname()

bool ada_has_empty_hostname ( ada_url result)
noexcept

Definition at line 15289 of file ada.cpp.

◆ ada_has_hash()

bool ada_has_hash ( ada_url result)
noexcept

Definition at line 15337 of file ada.cpp.

◆ ada_has_hostname()

bool ada_has_hostname ( ada_url result)
noexcept

Definition at line 15297 of file ada.cpp.

◆ ada_has_non_empty_password()

bool ada_has_non_empty_password ( ada_url result)
noexcept

Definition at line 15313 of file ada.cpp.

◆ ada_has_non_empty_username()

bool ada_has_non_empty_username ( ada_url result)
noexcept

Definition at line 15305 of file ada.cpp.

◆ ada_has_password()

bool ada_has_password ( ada_url result)
noexcept

Definition at line 15329 of file ada.cpp.

◆ ada_has_port()

bool ada_has_port ( ada_url result)
noexcept

Definition at line 15321 of file ada.cpp.

◆ ada_has_search()

bool ada_has_search ( ada_url result)
noexcept

Definition at line 15345 of file ada.cpp.

◆ ada_idna_to_ascii()

ada_owned_string ada_idna_to_ascii ( const char * input,
size_t length )

Definition at line 15372 of file ada.cpp.

◆ ada_idna_to_unicode()

ada_owned_string ada_idna_to_unicode ( const char * input,
size_t length )

Definition at line 15363 of file ada.cpp.

◆ ada_is_valid()

bool ada_is_valid ( ada_url result)
noexcept

Definition at line 15020 of file ada.cpp.

◆ ada_parse()

ada_url ada_parse ( const char * input,
size_t length )
noexcept

Definition at line 14982 of file ada.cpp.

◆ ada_parse_search_params()

ada_url_search_params ada_parse_search_params ( const char * input,
size_t length )

Definition at line 15381 of file ada.cpp.

◆ ada_parse_with_base()

ada_url ada_parse_with_base ( const char * input,
size_t input_length,
const char * base,
size_t base_length )
noexcept

Definition at line 14987 of file ada.cpp.

◆ ada_search_params_append()

void ada_search_params_append ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 15430 of file ada.cpp.

◆ ada_search_params_entries_iter_has_next()

bool ada_search_params_entries_iter_has_next ( ada_url_search_params_entries_iter result)

Definition at line 15649 of file ada.cpp.

◆ ada_search_params_entries_iter_next()

ada_string_pair ada_search_params_entries_iter_next ( ada_url_search_params_entries_iter result)

Definition at line 15636 of file ada.cpp.

◆ ada_search_params_get()

ada_string ada_search_params_get ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 15494 of file ada.cpp.

◆ ada_search_params_get_all()

ada_strings ada_search_params_get_all ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 15508 of file ada.cpp.

◆ ada_search_params_get_entries()

ada_url_search_params_entries_iter ada_search_params_get_entries ( ada_url_search_params result)

Definition at line 15542 of file ada.cpp.

◆ ada_search_params_get_keys()

ada_url_search_params_keys_iter ada_search_params_get_keys ( ada_url_search_params result)

Definition at line 15520 of file ada.cpp.

◆ ada_search_params_get_values()

ada_url_search_params_values_iter ada_search_params_get_values ( ada_url_search_params result)

Definition at line 15531 of file ada.cpp.

◆ ada_search_params_has()

bool ada_search_params_has ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 15472 of file ada.cpp.

◆ ada_search_params_has_value()

bool ada_search_params_has_value ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 15482 of file ada.cpp.

◆ ada_search_params_keys_iter_has_next()

bool ada_search_params_keys_iter_has_next ( ada_url_search_params_keys_iter result)

Definition at line 15593 of file ada.cpp.

◆ ada_search_params_keys_iter_next()

ada_string ada_search_params_keys_iter_next ( ada_url_search_params_keys_iter result)

Definition at line 15580 of file ada.cpp.

◆ ada_search_params_remove()

void ada_search_params_remove ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 15452 of file ada.cpp.

◆ ada_search_params_remove_value()

void ada_search_params_remove_value ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 15461 of file ada.cpp.

◆ ada_search_params_reset()

void ada_search_params_reset ( ada_url_search_params result,
const char * input,
size_t length )

Definition at line 15421 of file ada.cpp.

◆ ada_search_params_set()

void ada_search_params_set ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 15441 of file ada.cpp.

◆ ada_search_params_size()

size_t ada_search_params_size ( ada_url_search_params result)

Definition at line 15404 of file ada.cpp.

◆ ada_search_params_sort()

void ada_search_params_sort ( ada_url_search_params result)

Definition at line 15413 of file ada.cpp.

◆ ada_search_params_to_string()

ada_owned_string ada_search_params_to_string ( ada_url_search_params result)

Definition at line 15392 of file ada.cpp.

◆ ada_search_params_values_iter_has_next()

bool ada_search_params_values_iter_has_next ( ada_url_search_params_values_iter result)

Definition at line 15621 of file ada.cpp.

◆ ada_search_params_values_iter_next()

ada_string ada_search_params_values_iter_next ( ada_url_search_params_values_iter result)

Definition at line 15608 of file ada.cpp.

◆ ada_set_hash()

void ada_set_hash ( ada_url result,
const char * input,
size_t length )
noexcept

Update the hash/fragment of the URL.

If a URL has # as the hash value, passing empty string to this function does not remove the attribute. If you need to remove it, please use ada_clear_hash method.

Definition at line 15241 of file ada.cpp.

◆ ada_set_host()

bool ada_set_host ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15159 of file ada.cpp.

◆ ada_set_hostname()

bool ada_set_hostname ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15167 of file ada.cpp.

◆ ada_set_href()

bool ada_set_href ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15151 of file ada.cpp.

◆ ada_set_password()

bool ada_set_password ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15194 of file ada.cpp.

◆ ada_set_pathname()

bool ada_set_pathname ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15211 of file ada.cpp.

◆ ada_set_port()

bool ada_set_port ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15203 of file ada.cpp.

◆ ada_set_protocol()

bool ada_set_protocol ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15176 of file ada.cpp.

◆ ada_set_search()

void ada_set_search ( ada_url result,
const char * input,
size_t length )
noexcept

Update the search/query of the URL.

If a URL has ? as the search value, passing empty string to this function does not remove the attribute. If you need to remove it, please use ada_clear_search method.

Definition at line 15227 of file ada.cpp.

◆ ada_set_username()

bool ada_set_username ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 15185 of file ada.cpp.

◆ ada_string_create()

◆ ada_strings_get()

ada_string ada_strings_get ( ada_strings result,
size_t index )

Definition at line 15566 of file ada.cpp.

◆ ada_strings_size()

size_t ada_strings_size ( ada_strings result)

Definition at line 15558 of file ada.cpp.

◆ get_instance()