From d90d0050c2ee91d11fce3a5fd45c5fb64018392c Mon Sep 17 00:00:00 2001 From: Aki Date: Sat, 15 Aug 2020 02:06:51 +0200 Subject: Split http into request and response headers --- request.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 request.h (limited to 'request.h') diff --git a/request.h b/request.h new file mode 100644 index 0000000..a302d61 --- /dev/null +++ b/request.h @@ -0,0 +1,38 @@ +#pragma once + +struct span +{ + int start; + int length; +}; + +struct header +{ + struct span name; + struct span value; +}; + +struct request +{ + int (* step)(struct request *); + char * data; + int length; + int position; + struct span method; + struct span path; + struct span version; + struct header * headerv; + int headerc; + struct span body; +}; + +struct request * new_request(void); +void free_request(struct request *); + +int parse_request(int, struct request **); + +int parse_step_method(struct request *); +int parse_step_path(struct request *); +int parse_step_version(struct request *); +int parse_step_header_name(struct request *); +int parse_step_header_value(struct request *); -- cgit v1.1