diff options
-rw-r--r-- | proc.c | 3 | ||||
-rw-r--r-- | relay.c | 4 | ||||
-rw-r--r-- | uhttpd.h | 2 |
3 files changed, 8 insertions, 1 deletions
@@ -224,6 +224,9 @@ static void proc_handle_header_end(struct relay *r) ustream_printf(cl->us, "%s: %s\r\n", blobmsg_name(cur), blobmsg_data(cur)); ustream_printf(cl->us, "\r\n"); + + if (cl->request.method == UH_HTTP_MSG_HEAD) + r->skip_data = true; } static void proc_write_close(struct client *cl) @@ -142,7 +142,9 @@ static void relay_read_cb(struct ustream *s, int bytes) if (!buf || !len) return; - uh_chunk_write(cl, buf, len); + if (!r->skip_data) + uh_chunk_write(cl, buf, len); + ustream_consume(s, len); } @@ -152,6 +152,8 @@ struct relay { bool process_done; bool error; + bool skip_data; + int ret; int header_ofs; |