diff --git a/src/common/http.cpp b/src/common/http.cpp index cc6ea854b9..6f4aacf052 100644 --- a/src/common/http.cpp +++ b/src/common/http.cpp @@ -335,6 +335,15 @@ size_t wxHTTPStream::OnSysRead(void *buffer, size_t bufsize) size_t ret = wxSocketInputStream::OnSysRead(buffer, bufsize); m_read_bytes += ret; + if (m_httpsize==(size_t)-1 && m_lasterror == wxSTREAM_READ_ERROR ) + { + // if m_httpsize is (size_t) -1 this means read until connection closed + // which is equivalent to getting a READ_ERROR, for clients however this + // must be translated into EOF, as it is the expected way of signalling + // end end of the content + m_lasterror = wxSTREAM_EOF ; + } + return ret; }