summaryrefslogtreecommitdiffhomepage
path: root/http.c
diff options
context:
space:
mode:
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;