diff options
author | Aki <please@ignore.pl> | 2020-08-15 02:06:51 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2020-08-15 02:06:51 +0200 |
commit | d90d0050c2ee91d11fce3a5fd45c5fb64018392c (patch) | |
tree | b1950c053f8c7a66d2722cf095733b0a7ec0dd9e /request.h | |
parent | c8ddc4b5ad62e7ec90f25c6f647bf1caf38f80e6 (diff) | |
download | plop-d90d0050c2ee91d11fce3a5fd45c5fb64018392c.zip plop-d90d0050c2ee91d11fce3a5fd45c5fb64018392c.tar.gz plop-d90d0050c2ee91d11fce3a5fd45c5fb64018392c.tar.bz2 |
Split http into request and response headers
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 *); |