diff --git a/src/asio_client_session_impl.cc b/src/asio_client_session_impl.cc index b96824dd..f11814c7 100644 --- a/src/asio_client_session_impl.cc +++ b/src/asio_client_session_impl.cc @@ -329,6 +329,15 @@ int on_frame_recv_callback(nghttp2_session *session, const nghttp2_frame *frame, break; } + case NGHTTP2_GOAWAY: { + if (!sess->stopped()) { + auto& cb = sess->on_error(); + auto ec = make_error_code( + static_cast(NGHTTP2_ERR_START_STREAM_NOT_ALLOWED)); + cb(ec); + } + break; + } } return 0; }