diff --git a/httplib.h b/httplib.h index f2acc27..014306d 100644 --- a/httplib.h +++ b/httplib.h @@ -509,8 +509,13 @@ bool read_content(Stream& strm, T& x) auto len = get_header_value_int(x.headers, "Content-Length", 0); if (len) { x.body.assign(len, 0); - if (!strm.read(&x.body[0], x.body.size())) { - return false; + auto r = 0; + while (r < len){ + auto r_incr = strm.read(&x.body[r], len - r); + if (r_incr <= 0) { + return false; + } + r += r_incr; } } return true;