{
struct dispatch *d = &cl->dispatch;
struct http_request *r = &cl->request;
+ enum client_state st;
char *buf;
int len;
buf = ustream_get_read_buf(cl->us, &len);
if (!r->content_length && !r->transfer_chunked &&
cl->state != CLIENT_STATE_DONE) {
+ st = cl->state;
+
if (cl->dispatch.data_done)
cl->dispatch.data_done(cl);
- cl->state = CLIENT_STATE_DONE;
+ if (cl->state == st)
+ cl->state = CLIENT_STATE_DONE;
}
}