From 35f598ba933239d2794ac57823bbda4b1b252451 Mon Sep 17 00:00:00 2001 From: Justin Morton Date: Tue, 13 Apr 2021 14:00:12 -0700 Subject: [PATCH] net: http: add numeric http status code to response struct Add numeric http status code to the response struct to allow for easier processing by the caller. Textual status already exists. Signed-off-by: Justin Morton --- include/net/http_client.h | 5 +++++ subsys/net/lib/http/http_client.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/include/net/http_client.h b/include/net/http_client.h index 974ee10b113..40c8f9a23d3 100644 --- a/include/net/http_client.h +++ b/include/net/http_client.h @@ -146,6 +146,11 @@ struct http_response { */ char http_status[HTTP_STATUS_STR_SIZE]; + /** Numeric HTTP status code which corresponds to the + * textual description. + */ + uint16_t http_status_code; + uint8_t cl_present : 1; uint8_t body_found : 1; uint8_t message_complete : 1; diff --git a/subsys/net/lib/http/http_client.c b/subsys/net/lib/http/http_client.c index e5216b8e934..14c88f670c0 100644 --- a/subsys/net/lib/http/http_client.c +++ b/subsys/net/lib/http/http_client.c @@ -176,6 +176,8 @@ static int on_status(struct http_parser *parser, const char *at, size_t length) if (req->internal.response.http_cb && req->internal.response.http_cb->on_status) { req->internal.response.http_cb->on_status(parser, at, length); + req->internal.response.http_status_code = + (uint16_t)parser->status_code; } return 0;