23#if !defined(_WIN32) && !defined(_WIN64)
24 #include <arpa/inet.h>
36#include <uriparser/Uri.h>
#define gru_restrict
Definition: gru_portable.h:20
#define gru_export
Definition: gru_portable.h:19
gru_export char * gru_uri_simple_format(const gru_uri_t *gru_restrict uri, gru_status_t *gru_restrict status)
Converts a URI object to a string.
enum gru_uri_format_opt_t_ gru_uri_format_opt_t
gru_export char * gru_uri_format(const gru_uri_t *gru_restrict uri, gru_uri_format_opt_t fopt, gru_status_t *gru_restrict status)
A more elaborate URI string converter that can filter parts of the URI.
gru_export bool gru_uri_set_scheme(gru_uri_t *uri, const char *scheme)
Sets the scheme in a URI object.
Definition: gru_uri.c:303
gru_uri_parse_opt_t_
Definition: gru_uri.h:47
@ GRU_URI_PARSE_STRIP
Definition: gru_uri.h:49
@ GRU_URI_PARSE_DEFAULT
Definition: gru_uri.h:48
struct gru_uri_t_ gru_uri_t
gru_export gru_uri_t gru_uri_parse(const char *gru_restrict uri, gru_status_t *gru_restrict status)
Default URI parser.
enum gru_uri_parse_opt_t_ gru_uri_parse_opt_t
gru_export bool gru_uri_set_path(gru_uri_t *uri, const char *path)
Sets the URI path.
Definition: gru_uri.c:313
gru_export gru_uri_t gru_uri_clone(gru_uri_t other, gru_status_t *status)
Clone a URI object.
Definition: gru_uri.c:327
gru_export void gru_uri_cleanup(gru_uri_t *uri)
Cleans up a URI object.
Definition: gru_uri.c:380
gru_export gru_uri_t gru_uri_parse_ex(const char *gru_restrict url, gru_uri_parse_opt_t parseopt, gru_status_t *gru_restrict status)
URI parser with additional options.
Definition: gru_uri.c:183
gru_uri_format_opt_t_
Definition: gru_uri.h:52
@ GRU_URI_FORMAT_DEFAULT
Formats scheme, host, port and path if available.
Definition: gru_uri.h:56
@ GRU_URI_FORMAT_NONE
Definition: gru_uri.h:53
@ GRU_URI_FORMAT_PATH
Formats only scheme, host and port if available.
Definition: gru_uri.h:55
@ GRU_URI_FORMAT_PORT
Formats only scheme and host.
Definition: gru_uri.h:54
Definition: gru_list.h:41
Status type.
Definition: gru_status.h:47
char * host
Definition: gru_uri.h:62
uint16_t port
Definition: gru_uri.h:64
char * path
Definition: gru_uri.h:63
gru_list_t * query
Definition: gru_uri.h:65
char * scheme
Definition: gru_uri.h:61