request_parser.h 589 Bytes
#ifndef __HTTP_REQUEST_PARSER_H__
#define __HTTP_REQUEST_PARSER_H__

#include "class.h"
#include "http/request_queue.h"

#define HTTP_REQUEST_PARSER_READ_CHUNK	1024

typedef enum e_HttpRequestState {
	HTTP_REQUEST_GARBAGE=0,
	HTTP_REQUEST_START,
	HTTP_REQUEST_REQUEST_LINE_DONE,
	HTTP_REQUEST_HEADERS_DONE,
	HTTP_REQUEST_DONE
} HttpRequestState;


CLASS(HttpRequestParser) {
	char *           buffer;
	size_t           buffer_used;
	size_t           buffer_size;

	HttpRequestQueue request_queue;
	HttpRequestState state;
};

#endif /* __HTTP_REQUEST_PARSER_H__ */

// vim: set ts=4 sw=4: