Ada 2.9.2
Fast spec-compliant URL parser
Loading...
Searching...
No Matches
demo.c
Go to the documentation of this file.
1#include "ada_c.h"
2#include <stdio.h>
3#include <stdlib.h>
4#include <stdbool.h>
5#include <string.h>
6
7static void ada_print(ada_string string) {
8 printf("%.*s\n", (int)string.length, string.data);
9}
10
11int main(int c, char* arg[]) {
12 const char* input =
13 "https://username:password@www.google.com:8080/"
14 "pathname?query=true#hash-exists";
15 ada_url url = ada_parse(input, strlen(input));
16 if (!ada_is_valid(url)) {
17 puts("failure");
18 return EXIT_FAILURE;
19 }
21 url)); // prints
22 // https://username:password@host:8080/pathname?query=true#hash-exists
23 ada_print(ada_get_protocol(url)); // prints https:
24 ada_print(ada_get_username(url)); // prints username
25 ada_set_href(url, "https://www.yagiz.co", strlen("https://www.yagiz.co"));
26 if (!ada_is_valid(url)) {
27 puts("failure");
28 return EXIT_FAILURE;
29 }
30 ada_set_hash(url, "new-hash", strlen("new-hash"));
31 ada_set_hostname(url, "new-host", strlen("new-host"));
32 ada_set_host(url, "changed-host:9090", strlen("changed-host:9090"));
33 ada_set_pathname(url, "new-pathname", strlen("new-pathname"));
34 ada_set_search(url, "new-search", strlen("new-search"));
35 ada_set_protocol(url, "wss", 3);
37 url)); // will print
38 // wss://changed-host:9090/new-pathname?new-search#new-hash
39 ada_free(url);
40 return EXIT_SUCCESS;
41}
int main(int c, char *arg[])
Definition demo.c:11
static void ada_print(ada_string string)
Definition demo.c:7
bool ada_set_host(ada_url result, const char *input, size_t length)
Definition ada.cpp:15168
bool ada_set_hostname(ada_url result, const char *input, size_t length)
Definition ada.cpp:15176
bool ada_set_pathname(ada_url result, const char *input, size_t length)
Definition ada.cpp:15220
ada_url ada_parse(const char *input, size_t length)
Definition ada.cpp:14991
bool ada_set_href(ada_url result, const char *input, size_t length)
Definition ada.cpp:15160
void ada_free(ada_url result)
Definition ada.cpp:15019
void * ada_url
Definition ada_c.h:39
ada_string ada_get_protocol(ada_url result)
Definition ada.cpp:15135
ada_string ada_get_username(ada_url result)
Definition ada.cpp:15063
bool ada_is_valid(ada_url result)
Definition ada.cpp:15029
void ada_set_search(ada_url result, const char *input, size_t length)
Definition ada.cpp:15236
ada_string ada_get_href(ada_url result)
Definition ada.cpp:15054
bool ada_set_protocol(ada_url result, const char *input, size_t length)
Definition ada.cpp:15185
void ada_set_hash(ada_url result, const char *input, size_t length)
Definition ada.cpp:15250
Includes the C definitions for Ada. This is a C file, not C++.