diff options
Diffstat (limited to 'request.h')
-rw-r--r-- | request.h | 38 |
1 files changed, 38 insertions, 0 deletions
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 *); |