diff --git a/src/http.cpp b/src/http.cpp index 3e5452461a9a7571bc4fc011dd28aecee522659e..11f076b1c9bc770d5631a1a218a53cc51bbfba0f 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -214,6 +214,8 @@ Connection::async_handshake(HandlerCb cb) void Connection::async_write(BytesHandlerCb cb) { + if (!is_open()) + return; if (ssl_ctx_) asio::async_write(*ssl_socket_, write_buf_, cb); else @@ -223,6 +225,8 @@ Connection::async_write(BytesHandlerCb cb) void Connection::async_read_until(const char* delim, BytesHandlerCb cb) { + if (!is_open()) + return; if (ssl_ctx_) asio::async_read_until(*ssl_socket_, read_buf_, delim, cb); else @@ -232,6 +236,8 @@ Connection::async_read_until(const char* delim, BytesHandlerCb cb) void Connection::async_read(const size_t bytes, BytesHandlerCb cb) { + if (!is_open()) + return; if (ssl_socket_) asio::async_read(*ssl_socket_, read_buf_, asio::transfer_exactly(bytes), cb); else