Tilde Friends
Loading...
Searching...
No Matches
http.h
1#pragma once
2
14#include <stdbool.h>
15#include <stddef.h>
16
18typedef struct _tf_http_connection_t tf_http_connection_t;
19
22
24typedef struct _tf_http_t tf_http_t;
25
27typedef struct _tf_trace_t tf_trace_t;
28
30typedef struct uv_loop_s uv_loop_t;
31
39typedef void(tf_http_message_callback)(tf_http_request_t* request, int op_code, const void* data, size_t size);
40
46
51typedef void(tf_http_callback_t)(tf_http_request_t* request);
52
57typedef void(tf_http_cleanup_t)(void* user_data);
58
93
100
108
119int tf_http_listen(tf_http_t* http, int port, bool local_only, tf_http_cleanup_t* cleanup, void* user_data);
120
129void tf_http_add_handler(tf_http_t* http, const char* pattern, tf_http_callback_t* callback, tf_http_cleanup_t* cleanup, void* user_data);
130
141void tf_http_respond(tf_http_request_t* request, int status, const char** headers, int headers_count, const void* body, size_t content_length);
142
149size_t tf_http_get_body(const tf_http_request_t* request, const void** out_data);
150
156
164
170
177const char* tf_http_request_get_header(tf_http_request_t* request, const char* name);
178
186const char* tf_http_get_cookie(const char* cookie_header, const char* name);
187
196void tf_http_request_websocket_send(tf_http_request_t* request, int op_code, const void* data, size_t size);
197
204
210
217const char* tf_http_status_text(int status);
218
225bool tf_http_pattern_matches(const char* pattern, const char* path);
226
231
239void tf_http_decode_uri(char* out, size_t size, const char* uri, size_t length);
240
void tf_http_debug_destroy()
void tf_http_request_websocket_upgrade(tf_http_request_t *request)
void tf_http_respond(tf_http_request_t *request, int status, const char **headers, int headers_count, const void *body, size_t content_length)
const char * tf_http_status_text(int status)
void() tf_http_message_callback(tf_http_request_t *request, int op_code, const void *data, size_t size)
Definition http.h:39
bool tf_http_pattern_matches(const char *pattern, const char *path)
const char * tf_http_request_get_header(tf_http_request_t *request, const char *name)
struct _tf_http_connection_t tf_http_connection_t
Definition http.h:18
void tf_http_decode_uri(char *out, size_t size, const char *uri, size_t length)
const char * tf_http_get_cookie(const char *cookie_header, const char *name)
tf_http_t * tf_http_create(uv_loop_t *loop)
int tf_http_listen(tf_http_t *http, int port, bool local_only, tf_http_cleanup_t *cleanup, void *user_data)
void tf_http_request_websocket_close(tf_http_request_t *request)
void tf_http_add_handler(tf_http_t *http, const char *pattern, tf_http_callback_t *callback, tf_http_cleanup_t *cleanup, void *user_data)
struct _tf_trace_t tf_trace_t
Definition http.h:27
void tf_http_request_ref(tf_http_request_t *request)
void tf_http_request_unref(tf_http_request_t *request)
void() tf_http_close_callback(tf_http_request_t *request)
Definition http.h:45
struct _tf_http_request_t tf_http_request_t
Definition http.h:21
void tf_http_set_trace(tf_http_t *http, tf_trace_t *trace)
void tf_http_destroy(tf_http_t *http)
size_t tf_http_get_body(const tf_http_request_t *request, const void **out_data)
void tf_http_request_websocket_send(tf_http_request_t *request, int op_code, const void *data, size_t size)
void() tf_http_callback_t(tf_http_request_t *request)
Definition http.h:51
void() tf_http_cleanup_t(void *user_data)
Definition http.h:57
struct _tf_http_t tf_http_t
Definition http.h:24
struct uv_loop_s uv_loop_t
Definition http.h:30
Definition http.h:63
void * body
Definition http.h:75
tf_http_message_callback * on_message
Definition http.h:83
struct phr_header * headers
Definition http.h:79
int headers_count
Definition http.h:81
const char * query
Definition http.h:73
void * context
Definition http.h:87
const char * path
Definition http.h:71
tf_http_t * http
Definition http.h:65
tf_http_connection_t * connection
Definition http.h:67
int ref_count
Definition http.h:91
void * user_data
Definition http.h:89
const char * method
Definition http.h:69
tf_http_close_callback * on_close
Definition http.h:85
size_t content_length
Definition http.h:77