diff options
-rw-r--r-- | relay.c | 4 | ||||
-rw-r--r-- | uhttpd.h | 1 |
2 files changed, 4 insertions, 1 deletions
@@ -55,6 +55,7 @@ static void relay_error(struct relay *r) struct ustream *s = &r->sfd.stream; int len; + r->error = true; s->eof = true; ustream_get_read_buf(s, &len); if (len) @@ -118,7 +119,8 @@ static void relay_read_cb(struct ustream *s, int bytes) if (r->process_done) uloop_timeout_set(&r->timeout, 1); - relay_process_headers(r); + if (!r->error) + relay_process_headers(r); if (r->header_cb) { /* @@ -150,6 +150,7 @@ struct relay { struct client *cl; bool process_done; + bool error; int ret; int header_ofs; |