有时候上游http协议不规范会导致直接输出eof, 特别是在自动重试机制开启下, 容易造成定时器没办法初始化从而拉不到流但是session一直存在,所以需要做一个判断,如果没数据直接报错

This commit is contained in:
Alex 2023-02-05 16:24:42 +08:00
parent 7b59ad874a
commit a34c9079ba
1 changed files with 5 additions and 1 deletions

View File

@ -206,7 +206,11 @@ ssize_t HttpClient::onRecvHeader(const char *data, size_t len) {
onResponseBody(data, len);
} else {
_total_body_size = _recved_body_size;
onResponseCompleted_l(SockException(Err_success, "success"));
if (_recved_body_size > 0) {
onResponseCompleted_l(SockException(Err_success, "success"));
}else{
onResponseCompleted_l(SockException(Err_other, "no body"));
}
}
});
//后续为源源不断的body