diff --git a/CHANGELOG.md b/CHANGELOG.md index e5054ea8..16a4dc4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ WebSocket: * Remove obsolete frame tests * Refactor fail/clode code * Call do_fail from read_some +* eof on accept returns error::closed -------------------------------------------------------------------------------- diff --git a/include/boost/beast/websocket/impl/accept.ipp b/include/boost/beast/websocket/impl/accept.ipp index a0d2c5b5..14a7a997 100644 --- a/include/boost/beast/websocket/impl/accept.ipp +++ b/include/boost/beast/websocket/impl/accept.ipp @@ -299,6 +299,8 @@ operator()(error_code ec) case 1: { + if(ec == http::error::end_of_stream) + ec = error::closed; if(ec) break; // Arguments from our step must be @@ -877,8 +879,9 @@ do_accept( error_code& ec) { http::request_parser p; - http::read(next_layer(), - rd_.buf, p, ec); + http::read(next_layer(), rd_.buf, p, ec); + if(ec == http::error::end_of_stream) + ec = error::closed; if(ec) return; do_accept(p.get(), decorator, ec);