Work in progress HTTP server in C.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4676 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
29
src/http.h
Normal file
29
src/http.h
Normal file
@ -0,0 +1,29 @@
|
||||
#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);
|
Reference in New Issue
Block a user