74 const char* base,
size_t base_length)
noexcept {
83 std::string_view(input, input_length), &base_out.value()));
91 const char* base,
size_t base_length)
noexcept {
92 std::string_view base_view(base, base_length);
93 return ada::can_parse(std::string_view(input, input_length), &base_view);
108 return r.has_value();
116 owned.data =
nullptr;
120 std::string out = r->get_origin();
121 owned.
length = out.size();
122 owned.data =
new char[owned.length];
123 memcpy((
void*)owned.data, out.data(), owned.length);
136 std::string_view out = r->get_href();
145 std::string_view out = r->get_username();
154 std::string_view out = r->get_password();
163 std::string_view out = r->get_port();
172 std::string_view out = r->get_hash();
181 std::string_view out = r->get_host();
190 std::string_view out = r->get_hostname();
199 std::string_view out = r->get_pathname();
208 std::string_view out = r->get_search();
217 std::string_view out = r->get_protocol();
242 return r->set_href(std::string_view(input, length));
250 return r->set_host(std::string_view(input, length));
254 size_t length)
noexcept {
259 return r->set_hostname(std::string_view(input, length));
263 size_t length)
noexcept {
268 return r->set_protocol(std::string_view(input, length));
272 size_t length)
noexcept {
277 return r->set_username(std::string_view(input, length));
281 size_t length)
noexcept {
286 return r->set_password(std::string_view(input, length));
294 return r->set_port(std::string_view(input, length));
298 size_t length)
noexcept {
303 return r->set_pathname(std::string_view(input, length));
316 r->set_search(std::string_view(input, length));
330 r->set_hash(std::string_view(input, length));
372 return r->has_credentials();
380 return r->has_empty_hostname();
388 return r->has_hostname();
396 return r->has_non_empty_username();
404 return r->has_non_empty_password();
412 return r->has_port();
420 return r->has_password();
428 return r->has_hash();
436 return r->has_search();
452 owned.
length = out.length();
453 owned.data =
new char[owned.length];
454 memcpy((
void*)owned.data, out.data(), owned.length);
461 owned.
length = out.size();
462 owned.data =
new char[owned.length];
463 memcpy((
void*)owned.data, out.data(), owned.length);
482 std::string out = r->to_string();
484 owned.
length = out.size();
485 owned.data =
new char[owned.length];
486 memcpy((
void*)owned.data, out.data(), owned.length);
512 r->reset(std::string_view(input, length));
517 size_t key_length,
const char* value,
518 size_t value_length) {
522 r->append(std::string_view(key, key_length),
523 std::string_view(value, value_length));
528 size_t key_length,
const char* value,
529 size_t value_length) {
533 r->set(std::string_view(key, key_length),
534 std::string_view(value, value_length));
543 r->remove(std::string_view(key, key_length));
548 const char* key,
size_t key_length,
549 const char* value,
size_t value_length) {
553 r->remove(std::string_view(key, key_length),
554 std::string_view(value, value_length));
565 return r->has(std::string_view(key, key_length));
569 size_t key_length,
const char* value,
570 size_t value_length) {
576 return r->has(std::string_view(key, key_length),
577 std::string_view(value, value_length));
587 auto found = r->get(std::string_view(key, key_length));
588 if (!found.has_value()) {
595 const char* key,
size_t key_length) {
600 std::vector<std::string>());
603 r->get_all(std::string_view(key, key_length)));
657 std::string_view view = (*r)->at(index);
672 auto next = (*r)->next();
673 if (!next.has_value()) {
685 return (*r)->has_next();
700 auto next = (*r)->next();
701 if (!next.has_value()) {
713 return (*r)->has_next();
726 auto next = (*r)->next();
727 if (!next.has_value()) {
741 return (*r)->has_next();
ada_url_search_params ada_parse_search_params(const char *input, size_t length)
ada_string ada_get_search(ada_url result) noexcept
ada_strings ada_search_params_get_all(ada_url_search_params result, const char *key, size_t key_length)
uint8_t ada_get_scheme_type(ada_url result) noexcept
bool ada_has_search(ada_url result) noexcept
void ada_free_search_params_entries_iter(ada_url_search_params_entries_iter result)
bool ada_search_params_keys_iter_has_next(ada_url_search_params_keys_iter result)
ada_string ada_search_params_values_iter_next(ada_url_search_params_values_iter result)
void ada_free_search_params_keys_iter(ada_url_search_params_keys_iter result)
void ada_clear_hash(ada_url result) noexcept
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)
void ada_free_strings(ada_strings result)
void ada_search_params_append(ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
ada_url_search_params_entries_iter ada_search_params_get_entries(ada_url_search_params result)
ada_string ada_search_params_get(ada_url_search_params result, const char *key, size_t key_length)
void ada_free(ada_url result) 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_owned_string(ada_owned_string owned) noexcept
ada_url ada_parse(const char *input, size_t length) noexcept
uint8_t ada_get_host_type(ada_url result) noexcept
ada_string ada_get_protocol(ada_url result) noexcept
void ada_search_params_sort(ada_url_search_params result)
bool ada_has_credentials(ada_url result) noexcept
bool ada_set_pathname(ada_url result, const char *input, size_t length) noexcept
ada_string ada_get_host(ada_url result) noexcept
bool ada_set_password(ada_url result, const char *input, size_t length) noexcept
ada_string ada_get_port(ada_url result) noexcept
ada_string ada_string_create(const char *data, size_t length)
ada::result< ada::url_aggregator > & get_instance(void *result) noexcept
ada_owned_string ada_idna_to_unicode(const char *input, size_t length)
ada_string ada_get_hash(ada_url result) noexcept
ada_owned_string ada_get_origin(ada_url result) noexcept
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)
ada_string ada_get_hostname(ada_url result) noexcept
void ada_free_search_params(ada_url_search_params result)
bool ada_set_username(ada_url result, const char *input, size_t length) noexcept
bool ada_has_empty_hostname(ada_url result) noexcept
bool ada_has_hash(ada_url result) noexcept
ada_string ada_get_href(ada_url result) noexcept
ada_string ada_get_password(ada_url result) noexcept
bool ada_set_protocol(ada_url result, const char *input, size_t length) noexcept
bool ada_can_parse(const char *input, size_t length) noexcept
bool ada_is_valid(ada_url result) noexcept
ada_owned_string ada_search_params_to_string(ada_url_search_params result)
ada_string ada_strings_get(ada_strings result, size_t index)
void ada_set_search(ada_url result, const char *input, size_t length) noexcept
const ada_url_components * ada_get_components(ada_url result) noexcept
bool ada_search_params_entries_iter_has_next(ada_url_search_params_entries_iter result)
size_t ada_search_params_size(ada_url_search_params result)
ada_string ada_get_pathname(ada_url result) noexcept
void ada_free_search_params_values_iter(ada_url_search_params_values_iter result)
ada_url ada_parse_with_base(const char *input, size_t input_length, const char *base, size_t base_length) noexcept
ada_string ada_search_params_keys_iter_next(ada_url_search_params_keys_iter result)
void ada_clear_port(ada_url result) noexcept
bool ada_set_hostname(ada_url result, const char *input, size_t length) noexcept
bool ada_has_hostname(ada_url result) noexcept
ada_string_pair ada_search_params_entries_iter_next(ada_url_search_params_entries_iter result)
ada_url_search_params_keys_iter ada_search_params_get_keys(ada_url_search_params result)
ada_owned_string ada_idna_to_ascii(const char *input, size_t length)
bool ada_has_non_empty_password(ada_url result) noexcept
bool ada_set_href(ada_url result, const char *input, size_t length) noexcept
ada_url ada_copy(ada_url input) noexcept
bool ada_has_password(ada_url result) noexcept
bool ada_search_params_values_iter_has_next(ada_url_search_params_values_iter result)
bool ada_set_port(ada_url result, const char *input, size_t length) noexcept
bool ada_has_port(ada_url result) noexcept
void ada_search_params_set(ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
bool ada_set_host(ada_url result, const char *input, size_t length) noexcept
size_t ada_strings_size(ada_strings result)
ada_url_search_params_values_iter ada_search_params_get_values(ada_url_search_params result)
void ada_set_hash(ada_url result, const char *input, size_t length) noexcept
bool ada_search_params_has(ada_url_search_params result, const char *key, size_t key_length)
bool ada_has_non_empty_username(ada_url result) noexcept
void ada_search_params_reset(ada_url_search_params result, const char *input, size_t length)
void ada_search_params_remove(ada_url_search_params result, const char *key, size_t key_length)
void ada_clear_search(ada_url result) noexcept
ada_string ada_get_username(ada_url result) noexcept
void * ada_url_search_params_entries_iter
void * ada_url_search_params
void * ada_url_search_params_keys_iter
void * ada_url_search_params_values_iter
std::string to_ascii(std::string_view ut8_string)
std::string to_unicode(std::string_view input)
url_search_params_iter< std::string_view, url_search_params_iter_type::VALUES > url_search_params_values_iter
bool can_parse(std::string_view input, const std::string_view *base_input=nullptr)
url_search_params_iter< key_value_view_pair, url_search_params_iter_type::ENTRIES > url_search_params_entries_iter
url_search_params_iter< std::string_view, url_search_params_iter_type::KEYS > url_search_params_keys_iter
tl::expected< result_type, ada::errors > result
ada_warn_unused ada::result< result_type > parse(std::string_view input, const result_type *base_url=nullptr)
URL Component representations using offsets.
Inline functions for url aggregator.
Inline declarations for the URL Search Params.