Improved SSL_R_SHORT_READ check

This commit is contained in:
eidheim 2022-08-16 10:58:59 +02:00
commit 88569844ea
2 changed files with 12 additions and 4 deletions

View file

@ -670,15 +670,18 @@ namespace SimpleWeb {
});
}
/// Ignore end of file error codes
virtual error_code clean_error_code(const error_code &ec) {
return ec == error::eof ? error_code() : ec;
}
void read_content(const std::shared_ptr<Session> &session) {
asio::async_read(*session->connection->socket, session->response->streambuf, [this, session](const error_code &ec_, std::size_t /*bytes_transferred*/) {
auto lock = session->connection->handler_runner->continue_lock();
if(!lock)
return;
# define SSL_R_SHORT_READ 219
auto ec = ec_ == error::eof ? error_code() : ec_;
if((ec.value() & 0xff) == SSL_R_SHORT_READ)
ec = error_code();
auto ec = clean_error_code(ec_);
if(!ec) {
{