KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
Loading...
Searching...
No Matches
url.h
Go to the documentation of this file.
1#ifndef KEEL_URL_H
2#define KEEL_URL_H
3
4#include <stddef.h>
5
12typedef struct {
14 int is_ws;
15 const char *host;
16 size_t host_len;
17 int port;
18 const char *path;
19 size_t path_len;
20} KlUrl;
21
33int kl_url_parse(const char *url, KlUrl *out);
34
38#define KL_URL_MAX 2048
39
53int kl_url_resolve(const char *base_url, const char *location,
54 char *out, size_t out_size);
55
56#endif
Parsed URL components (points into original URL string).
Definition url.h:12
const char * path
Definition url.h:18
const char * host
Definition url.h:15
size_t host_len
Definition url.h:16
int is_ws
Definition url.h:14
size_t path_len
Definition url.h:19
int port
Definition url.h:17
int is_https
Definition url.h:13
int kl_url_resolve(const char *base_url, const char *location, char *out, size_t out_size)
Resolve a Location header value against a base URL.
int kl_url_parse(const char *url, KlUrl *out)
Parse an HTTP/HTTPS URL into components.