Refactor WebSocket errors (API Change):

fix #949

* New error codes are introduced for WebSocket failures

* More verbose messages for error codes

* Error codes are mapped to conditions for ease of testing

* error::failed and error::handshake_failed are deprecated (don't use)

Actions Required:

* Code which explicitly compares error_code values against the
  constant `websocket::error::handshake_failed` should compare
  against `websocket::condition::handshake_failed` instead.

* Code which explicitly compares error_code values against the
  constant `websocket::error::failed` should compare
  against `websocket::condition::protocol_violation` instead.
This commit is contained in:
Vinnie Falco committed 2018-01-12 07:35:26 -08:00
1 parent 08a9ed4c25
commit cc43b46c42
19 files changed
+705 -346

No files matched your search

+3 -3
View File
@@ -108,7 +108,7 @@ public:
catch(system_error const& se)
{
BEAST_EXPECTS(
se.code() == error::failed,
se.code() == error::bad_masked_frame,
se.code().message());
}
}
@@ -128,7 +128,7 @@ public:
catch(system_error const& se)
{
BEAST_EXPECTS(
se.code() == error::failed,
se.code() == error::bad_close_size,
se.code().message());
}
}
@@ -292,7 +292,7 @@ public:
ws.async_read(b,
[&](error_code ec, std::size_t)
{
if(ec != error::failed)
if(ec != error::bad_control_fragment)
BOOST_THROW_EXCEPTION(
system_error{ec});
BEAST_EXPECT(++count == 1);