summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-10-27 11:15:35 +0100
committerJo-Philipp Wich <jow@openwrt.org>2014-10-27 11:16:44 +0100
commit248d682e3b3887a535d4ba81fab65f3463373ac8 (patch)
tree3821776be3d9f87eb0ace8749041c36aff437d41
parent98839fdd7467f34011ef4b967b285fee3b0d8597 (diff)
downloaduhttpd2-248d682e3b3887a535d4ba81fab65f3463373ac8.tar.gz
client: store http code of last emitted response
Certain response types (notably 204 and 304) require a slightly different handling like emitting the response body entirely, therfore record the last code to act on it in the appropriate places. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
-rw-r--r--client.c2
-rw-r--r--uhttpd.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/client.c b/client.c
index 9b8fb07..0d7029b 100644
--- a/client.c
+++ b/client.c
@@ -48,6 +48,8 @@ void uh_http_header(struct client *cl, int code, const char *summary)
const char *enc = "Transfer-Encoding: chunked\r\n";
const char *conn;
+ cl->http_code = code;
+
if (!uh_use_chunked(cl))
enc = "";
diff --git a/uhttpd.h b/uhttpd.h
index 6ef28d9..9bf8cbb 100644
--- a/uhttpd.h
+++ b/uhttpd.h
@@ -243,6 +243,7 @@ struct client {
enum client_state state;
bool tls;
+ int http_code;
struct http_request request;
struct uh_addr srv_addr, peer_addr;