A package of types and methods for manipulating WebSocket close status'. More...
Typedefs | |
typedef uint16_t | value |
The type of a close code value. More... | |
Functions | |
bool | reserved (value code) |
Test whether a close code is in a reserved range. More... | |
bool | invalid (value code) |
Test whether a close code is invalid on the wire. More... | |
bool | terminal (value code) |
Determine if the code represents an unrecoverable error. More... | |
std::string | get_string (value code) |
Return a human readable interpretation of a WebSocket close code. More... | |
Variables | |
static value const | blank = 0 |
A blank value for internal use. More... | |
static value const | omit_handshake = 1 |
Close the connection without a WebSocket close handshake. More... | |
static value const | force_tcp_drop = 2 |
Close the connection with a forced TCP drop. More... | |
static value const | normal = 1000 |
Normal closure, meaning that the purpose for which the connection was established has been fulfilled. More... | |
static value const | going_away = 1001 |
The endpoint was "going away", such as a server going down or a browser navigating away from a page. More... | |
static value const | protocol_error = 1002 |
A protocol error occurred. More... | |
static value const | unsupported_data = 1003 |
The connection was terminated because an endpoint received a type of data it cannot accept. More... | |
static value const | no_status = 1005 |
A dummy value to indicate that no status code was received. More... | |
static value const | abnormal_close = 1006 |
A dummy value to indicate that the connection was closed abnormally. More... | |
static value const | invalid_payload = 1007 |
An endpoint received message data inconsistent with its type. More... | |
static value const | policy_violation = 1008 |
An endpoint received a message that violated its policy. More... | |
static value const | message_too_big = 1009 |
An endpoint received a message too large to process. More... | |
static value const | extension_required = 1010 |
A client expected the server to accept a required extension request. More... | |
static value const | internal_endpoint_error = 1011 |
An endpoint encountered an unexpected condition that prevented it from fulfilling the request. More... | |
static value const | service_restart = 1012 |
Indicates that the service is restarted. More... | |
static value const | try_again_later = 1013 |
Indicates that the service is experiencing overload. More... | |
static value const | tls_handshake = 1015 |
An endpoint failed to perform a TLS handshake. More... | |
static value const | subprotocol_error = 3000 |
A generic subprotocol error. More... | |
static value const | invalid_subprotocol_data = 3001 |
A invalid subprotocol data. More... | |
static value const | rsv_start = 1016 |
First value in range reserved for future protocol use. More... | |
static value const | rsv_end = 2999 |
Last value in range reserved for future protocol use. More... | |
static value const | invalid_low = 999 |
First value in range that is always invalid on the wire. More... | |
static value const | invalid_high = 5000 |
Last value in range that is always invalid on the wire. More... | |
A package of types and methods for manipulating WebSocket close status'.
typedef uint16_t websocketpp::close::status::value |
|
inline |
Test whether a close code is in a reserved range.
[in] | code | The code to test |
Definition at line 179 of file close.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), websocketpp::close::extract_code(), and websocketpp::processor::hybi13< stub_config >::prepare_close().
|
inline |
Test whether a close code is invalid on the wire.
[in] | code | The code to test |
Definition at line 194 of file close.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), websocketpp::close::extract_code(), and websocketpp::processor::hybi13< stub_config >::prepare_close().
|
inline |
Determine if the code represents an unrecoverable error.
There is a class of errors for which once they are discovered normal WebSocket functionality can no longer occur. This function determines if a given code is one of these values. This information is used to determine if the system has the capability of waiting for a close acknowledgement or if it should drop the TCP connection immediately after sending its close frame.
[in] | code | The value to test. |
Definition at line 212 of file close.hpp.
Referenced by websocketpp::connection< config >::close(), websocketpp::connection< config >::get_supported_versions(), websocketpp::connection< config >::handle_write_frame(), and websocketpp::connection< stub_config >::set_handle().
|
inline |
Return a human readable interpretation of a WebSocket close code.
See https://tools.ietf.org/html/rfc6455#section-7.4 for more details.
[in] | code | The code to look up. |
Definition at line 227 of file close.hpp.
Referenced by http_func(), connection_metadata::on_close(), and websocketpp::http::parser::response::set_status().
|
static |
A blank value for internal use.
Definition at line 52 of file close.hpp.
Referenced by websocketpp::connection< config >::get_supported_versions(), websocketpp::connection< stub_config >::set_handle(), and websocketpp::processor::error::to_ws().
|
static |
Close the connection without a WebSocket close handshake.
This special value requests that the WebSocket connection be closed without performing the WebSocket closing handshake. This does not comply with RFC6455, but should be safe to do if necessary. This could be useful for clients that need to disconnect quickly and cannot afford the complete handshake.
|
static |
Close the connection with a forced TCP drop.
This special value requests that the WebSocket connection be closed by forcibly dropping the TCP connection. This will leave the other side of the connection with a broken connection and some expensive timeouts. this should not be done except in extreme cases or in cases of malicious remote endpoints.
|
static |
Normal closure, meaning that the purpose for which the connection was established has been fulfilled.
Definition at line 76 of file close.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), close(), close_after_timeout(), nfd::face::WebSocketTransport::doClose(), websocketpp::connection< config >::get_supported_versions(), main(), and req_pong_timeout().
|
static |
The endpoint was "going away", such as a server going down or a browser navigating away from a page.
Definition at line 80 of file close.hpp.
Referenced by perftest::on_message(), and websocket_endpoint::~websocket_endpoint().
|
static |
A protocol error occurred.
Definition at line 83 of file close.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), websocketpp::close::extract_code(), websocketpp::connection< config >::get_supported_versions(), and websocketpp::processor::error::to_ws().
|
static |
|
static |
A dummy value to indicate that no status code was received.
This value is illegal on the wire.
Definition at line 97 of file close.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), websocketpp::close::extract_code(), websocketpp::connection< config >::get_supported_versions(), and websocketpp::processor::hybi13< stub_config >::prepare_close().
|
static |
A dummy value to indicate that the connection was closed abnormally.
In such a case there was no close frame to extract a value from. This value is illegal on the wire.
Definition at line 104 of file close.hpp.
Referenced by websocketpp::connection< config >::terminate().
|
static |
An endpoint received message data inconsistent with its type.
For example: Invalid UTF8 bytes in a text message.
Definition at line 110 of file close.hpp.
Referenced by websocketpp::processor::error::to_ws().
|
static |
|
static |
An endpoint received a message too large to process.
Definition at line 121 of file close.hpp.
Referenced by websocketpp::processor::error::to_ws().
|
static |
A client expected the server to accept a required extension request.
The list of extensions that are needed SHOULD appear in the /reason/ part of the Close frame. Note that this status code is not used by the server, because it can fail the WebSocket handshake instead.
|
static |
An endpoint encountered an unexpected condition that prevented it from fulfilling the request.
Definition at line 133 of file close.hpp.
Referenced by websocketpp::processor::error::to_ws().
|
static |
|
static |
|
static |
An endpoint failed to perform a TLS handshake.
Designated for use in applications expecting a status code to indicate that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified). This value is illegal on the wire.
|
static |
|
static |
|
static |
|
static |
|
static |