X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuhttpd.git;a=blobdiff_plain;f=proc.c;h=9c4b685ad1bc75c11dc7eac93255cbb0f2168d4c;hp=67356dd766ef7b76d35883800236a04399d221a1;hb=b965b8cc10f094ec0408d57b1bc9aeee0bca501c;hpb=14e3971c37e6feb0ec5eda0988e07d8a786ba9f9 diff --git a/proc.c b/proc.c index 67356dd..9c4b685 100644 --- a/proc.c +++ b/proc.c @@ -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) @@ -282,9 +285,8 @@ static int proc_data_send(struct client *cl, const char *data, int len) if (errno == EAGAIN || errno == EWOULDBLOCK) break; - /* error, no retry */ - len = 0; - break; + /* consume all data */ + ret = len; } if (!ret)