30 lines
834 B
C
30 lines
834 B
C
|
#pragma once
|
||
|
|
||
|
typedef struct uv_loop_s uv_loop_t;
|
||
|
typedef struct _tf_http_t tf_http_t;
|
||
|
typedef struct _tf_http_connection_t tf_http_connection_t;
|
||
|
|
||
|
typedef enum _tf_http_callback_phase_t
|
||
|
{
|
||
|
k_http_callback_phase_headers_received,
|
||
|
k_http_callback_phase_request_done,
|
||
|
} tf_http_callback_phase_t;
|
||
|
|
||
|
typedef struct _tf_http_request_t
|
||
|
{
|
||
|
tf_http_callback_phase_t phase;
|
||
|
tf_http_connection_t* connection;
|
||
|
const char* method;
|
||
|
const char* path;
|
||
|
struct phr_header* headers;
|
||
|
int headers_count;
|
||
|
void* user_data;
|
||
|
} tf_http_request_t;
|
||
|
|
||
|
typedef void (tf_http_callback_t)(tf_http_request_t* request);
|
||
|
|
||
|
tf_http_t* tf_http_create(uv_loop_t* loop);
|
||
|
void tf_http_listen(tf_http_t* http, int port);
|
||
|
void tf_http_add_handler(tf_http_t* http, const char* pattern, tf_http_callback_t* callback, void* user_data);
|
||
|
void tf_http_destroy(tf_http_t* http);
|