diff --git a/examples/http_client/http_client.c b/examples/http_client/http_client.c index 3f89d8ae6d4e384b870a562c64d785b8ea2a1d68..41eac581e90d8f3c8e619a8f2e4e038a11cb06f9 100644 --- a/examples/http_client/http_client.c +++ b/examples/http_client/http_client.c @@ -36,6 +36,7 @@ static int ev_handler(struct mg_connection *conn, enum mg_event ev) { case MG_REPLY: // Send reply to the original connection orig = (struct mg_connection *) conn->connection_param; + mg_send_status(orig, conn->status_code); mg_send_header(orig, "Content-Type", "text/plain"); mg_send_data(orig, conn->content, conn->content_len); mg_send_data(orig, "", 0); // Last chunk: mark the end of reply diff --git a/mongoose.c b/mongoose.c index 76048b282e1efbece423744c15703fdcdd563dcd..4048a790fa958f0b79dfa1949b6742d2badf7763 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2410,6 +2410,9 @@ static int parse_http_message(char *buf, int len, struct mg_connection *ri) { if (is_request) { ri->http_version += 5; } + else { + ri->status_code = atoi(ri->uri); + } parse_http_headers(&buf, ri); if ((ri->query_string = strchr(ri->uri, '?')) != NULL) {