#include "kre_http.h"
Functions | |
int | kre_http_get_request (char *bu, size_t s, struct kre_http_request *req, struct kre_thread *thr) |
Get HTTP request from client to buffer bu and return count of received bytes or error or should stop flag. | |
int | kre_http_transfer_response (char *bu, size_t s, struct kre_thread *thr) |
Transfer response from dst host to client host using buffer bu. | |
void | kre_http_set_response (char *bu, size_t size, int code) |
Build response in bu based on http_error number. | |
void | kre_http_get_meth_from_buf (struct kre_http_request *req, char *b, size_t size) |
Get HTTP method from b parameter. | |
void | kre_http_get_content_length (struct kre_http_request *req, char *b, size_t size) |
Get HTTP Content-Length if exsists value. | |
void | kre_http_get_uri (struct kre_http_request *req, char *b, size_t size) |
Get URI from HTTP request ( from buffer b ). | |
void | kre_http_get_host (struct kre_http_request *req, char *b, size_t size) |
Get Host from HTTP request b. | |
int | kre_http_get_req_from_buf (struct kre_http_request *req, char *bu, size_t size) |
Get all needed field from request buf and save to req structure. |
void kre_http_get_content_length | ( | struct kre_http_request * | req, | |
char * | b, | |||
size_t | size | |||
) |
Get HTTP Content-Length if exsists value.
req | Place where contetn length value is saved if not exsixts 0 value is saved. | |
b | Buffor with http request. | |
size | Size of buffer. |
void kre_http_get_host | ( | struct kre_http_request * | req, | |
char * | b, | |||
size_t | size | |||
) |
Get Host from HTTP request b.
req | Place to save host. | |
b | Buffer with request. | |
size | Size of buffer b. |
void kre_http_get_meth_from_buf | ( | struct kre_http_request * | req, | |
char * | b, | |||
size_t | size | |||
) |
Get HTTP method from b parameter.
req | Place to save http method. | |
b | Buffor with http request. | |
size | Size of buffer. |
int kre_http_get_req_from_buf | ( | struct kre_http_request * | req, | |
char * | bu, | |||
size_t | size | |||
) |
Get all needed field from request buf and save to req structure.
req | Place to save request field. | |
bu | Source request buffor. | |
size | Size of buffer. |
int kre_http_get_request | ( | char * | bu, | |
size_t | s, | |||
struct kre_http_request * | req, | |||
struct kre_thread * | cur | |||
) |
Get HTTP request from client to buffer bu and return count of received bytes or error or should stop flag.
bu | Buffer where http request will go. | |
s | Size of buffer. | |
req | Place to save HTTP request in specific kre format. | |
cur | Curent kre thread with csock. |
void kre_http_get_uri | ( | struct kre_http_request * | req, | |
char * | b, | |||
size_t | size | |||
) |
Get URI from HTTP request ( from buffer b ).
req | Place to save uri. | |
b | Buffer with request. | |
size | Size of buffer. |
void kre_http_set_response | ( | char * | bu, | |
size_t | size, | |||
int | code | |||
) |
Build response in bu based on http_error number.
bu | Buffer where new response is build. | |
size | Max size of buffer. | |
code | KRE_HTTP_( response code ) for example KRE_HTTP_BAD_REQUEST, KRE_HTTP_INTERNAL_SERVER_ERROR, ... , KRE_HTTP_SERVER_IS_BUSY,.. |
int kre_http_transfer_response | ( | char * | bu, | |
size_t | s, | |||
struct kre_thread * | thr | |||
) |
Transfer response from dst host to client host using buffer bu.
bu | Buffer using during transfering. | |
s | Size of buffer bu. | |
thr | Thread structure with alocated and connecting dstsock and csock socket. |