diff --git a/src/http.cpp b/src/http.cpp index 0017b0d05593ab844051c44e0051188fd51675d8..abb9611be24fefb837e767852af1f63dbce28762 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -874,7 +874,7 @@ Request::terminate(const asio::error_code& ec) logger_->e("[http:request:%i] end with error: %s", id_, ec.message().c_str()); // set response outcome, ignore end of file and abort - if (!ec or ec == asio::error::eof) + if ((!ec or ec == asio::error::eof) and parser_) response_.status_code = parser_->status_code; else response_.status_code = 0; @@ -882,7 +882,7 @@ Request::terminate(const asio::error_code& ec) response_.aborted = ec == asio::error::operation_aborted; if (logger_) - logger_->d("[http:request:%i] done with status code %u", id_, parser_->status_code); + logger_->d("[http:request:%i] done with status code %u", id_, response_.status_code); if (connection_type_ != restinio::http_connection_header_t::keep_alive) if (auto c = conn_) c->close();