From 07e0063870725506447a0ad29a6b92bb8c8c4e0b Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Mon, 2 Oct 2023 23:37:44 +0200 Subject: http: Support HEAD --- http.c | 4 ++++ include/slweb/http.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/http.c b/http.c index 73c7b67..5bf5251 100644 --- a/http.c +++ b/http.c @@ -359,6 +359,8 @@ static int start_line(struct http_ctx *const h) c->op = HTTP_OP_GET; else if (!strncmp(line, "POST", n)) c->op = HTTP_OP_POST; + else if (!strncmp(line, "HEAD", n)) + c->op = HTTP_OP_HEAD; else { fprintf(stderr, "%s: unsupported HTTP op %.*s\n", @@ -1039,6 +1041,8 @@ static int header_cr_line(struct http_ctx *const h) switch (c->op) { case HTTP_OP_GET: + /* Fall through. */ + case HTTP_OP_HEAD: return process_payload(h, line); case HTTP_OP_POST: diff --git a/include/slweb/http.h b/include/slweb/http.h index f5963dc..68ffb9a 100644 --- a/include/slweb/http.h +++ b/include/slweb/http.h @@ -10,7 +10,8 @@ struct http_payload enum http_op { HTTP_OP_GET, - HTTP_OP_POST + HTTP_OP_POST, + HTTP_OP_HEAD } op; const char *resource; -- cgit v1.2.3