summaryrefslogtreecommitdiffhomepage
path: root/http.c
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2020-05-02 14:48:14 +0200
committerAki <please@ignore.pl>2020-05-02 14:48:14 +0200
commit890ed2ce61a20e7ae14070fc1a76b24e248d0d08 (patch)
tree74578e0767b06c7a7641d9ae8205dff00fedb326 /http.c
parentcb558e648250eb886bcadbec7da6dc650ebe7839 (diff)
downloadplop-890ed2ce61a20e7ae14070fc1a76b24e248d0d08.zip
plop-890ed2ce61a20e7ae14070fc1a76b24e248d0d08.tar.gz
plop-890ed2ce61a20e7ae14070fc1a76b24e248d0d08.tar.bz2
Added initial method parsing
Diffstat (limited to 'http.c')
-rw-r--r--http.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/http.c b/http.c
index 264c7b5..6eda100 100644
--- a/http.c
+++ b/http.c
@@ -82,6 +82,20 @@ int parse_request(const int fd, struct request * const request)
return -1; // TODO: Handle errors properly
}
+ for (int i = 0; i < NUMBER_OF_METHODS; ++i)
+ {
+ if (0 == strncmp(method_str[i], buffer, strlen(method_str[i])))
+ {
+ request->method = i;
+ break;
+ }
+
+ if (NUMBER_OF_METHODS - 1 == i)
+ {
+ // TODO: 501 Not Implemented
+ }
+ }
+
request->body = malloc(length + 1);
memcpy(request->body, buffer, length);
request->body[length] = 0;