Commit 6241bbc4 authored by jan.koester's avatar jan.koester
Browse files

test

parent 8aa3c517
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -496,6 +496,7 @@ size_t libhttppp::HttpClient::_recvNonBlocking(netplus::buffer &b) {

// Efficient send: uses socketwait::waitWrite() instead of busy-waiting
void libhttppp::HttpClient::_sendAll(const char *data, size_t len) {
    if (!_cltsock || len == 0) return;
    int send_sec = _sendTimeoutSec > 0 ? _sendTimeoutSec : 30;
    auto deadline = std::chrono::steady_clock::now() + std::chrono::seconds(send_sec);
    size_t off = 0;
@@ -1703,6 +1704,12 @@ size_t libhttppp::HttpClient::readBodyChunkNonBlocking(char *buf, size_t bufsize
    if (_streamMode == STREAM_NONE || bufsize == 0)
        return static_cast<size_t>(-1);

    // If the underlying socket is gone, terminate the stream immediately
    if (!_cltsock) {
        _streamMode = STREAM_NONE;
        return static_cast<size_t>(-1);
    }

    // Helper: drain from internal leftover buffer
    auto drainBuf = [&](size_t maxBytes) -> size_t {
        size_t have = _streamBuf.size() - _streamBufPos;