去除编译警告,修复bug

This commit is contained in:
xia-chu
2021-01-19 16:05:38 +08:00
parent 5d752c89b5
commit f63b2b1863
51 changed files with 113 additions and 107 deletions

View File

@@ -129,7 +129,7 @@ void HttpClient::onErr(const SockException &ex) {
onDisconnect(ex);
}
size_t HttpClient::onRecvHeader(const char *data, size_t len) {
ssize_t HttpClient::onRecvHeader(const char *data, size_t len) {
_parser.Parse(data);
if(_parser.Url() == "302" || _parser.Url() == "301"){
auto newUrl = _parser["Location"];
@@ -159,7 +159,7 @@ size_t HttpClient::onRecvHeader(const char *data, size_t len) {
_chunkedSplitter = std::make_shared<HttpChunkedSplitter>([this](const char *data,size_t len){
if(len > 0){
auto recvedBodySize = _recvedBodySize + len;
onResponseBody(data, len, recvedBodySize, INT64_MAX);
onResponseBody(data, len, recvedBodySize, SIZE_MAX);
_recvedBodySize = recvedBodySize;
}else{
onResponseCompleted_l();
@@ -188,14 +188,14 @@ void HttpClient::onRecvContent(const char *data, size_t len) {
}
auto recvedBodySize = _recvedBodySize + len;
if(_totalBodySize < 0){
//不限长度的content,最大支持INT64_MAX个字节
onResponseBody(data, len, recvedBodySize, INT64_MAX);
//不限长度的content,最大支持SIZE_MAX个字节
onResponseBody(data, len, recvedBodySize, SIZE_MAX);
_recvedBodySize = recvedBodySize;
return;
}
//固定长度的content
if ( recvedBodySize < _totalBodySize ) {
if (recvedBodySize < (size_t)_totalBodySize ) {
//content还未接收完毕
onResponseBody(data, len, recvedBodySize, _totalBodySize);
_recvedBodySize = recvedBodySize;
@@ -204,7 +204,7 @@ void HttpClient::onRecvContent(const char *data, size_t len) {
//content接收完毕
onResponseBody(data, _totalBodySize - _recvedBodySize, _totalBodySize, _totalBodySize);
bool biggerThanExpected = recvedBodySize > _totalBodySize;
bool biggerThanExpected = recvedBodySize > (size_t)_totalBodySize;
onResponseCompleted_l();
if(biggerThanExpected) {
//声明的content数据比真实的小那么我们只截取前面部分的并断开链接