29 #ifndef WEBSOCKETPP_CLOSE_HPP    30 #define WEBSOCKETPP_CLOSE_HPP   180         return ((code >= rsv_start && code <= rsv_end) ||
   181                 code == 1004 || code == 1014);
   195         return (code <= invalid_low || code >= invalid_high ||
   196                 code == no_status || code == abnormal_close ||
   197                 code == tls_handshake);
   213         return (code == protocol_error || code == invalid_payload ||
   214                 code == policy_violation || code == message_too_big ||
   215                  code == internal_endpoint_error);
   230                 return "Normal close";
   234                 return "Protocol error";
   235             case unsupported_data:
   236                 return "Unsupported data";
   238                 return "No status set";
   240                 return "Abnormal close";
   241             case invalid_payload:
   242                 return "Invalid payload";
   243             case policy_violation:
   244                 return "Policy violoation";
   245             case message_too_big:
   246                 return "Message too big";
   247             case extension_required:
   248                 return "Extension required";
   249             case internal_endpoint_error:
   250                 return "Internal endpoint error";
   252                 return "TLS handshake failure";
   253             case subprotocol_error:
   254                 return "Generic subprotocol error";
   255             case invalid_subprotocol_data:
   256                 return "Invalid subprotocol data";
   286     ec = lib::error_code();
   288     if (payload.size() == 0) {
   290     } 
else if (payload.size() == 1) {
   297     val.
c[0] = payload[0];
   298     val.
c[1] = payload[1];
   326     ec = lib::error_code();
   328     if (payload.size() > 2) {
   329         reason.append(payload.begin()+2,payload.end());
   342 #endif // WEBSOCKETPP_CLOSE_HPP static value const internal_endpoint_error
An endpoint encountered an unexpected condition that prevented it from fulfilling the request...
 
uint16_t value
The type of a close code value. 
 
lib::error_code make_error_code(error::value e)
 
static value const invalid_payload
An endpoint received message data inconsistent with its type. 
 
bool terminal(value code)
Determine if the code represents an unrecoverable error. 
 
static value const extension_required
A client expected the server to accept a required extension request. 
 
static value const try_again_later
Indicates that the service is experiencing overload. 
 
static value const invalid_high
Last value in range that is always invalid on the wire. 
 
bool reserved(value code)
Test whether a close code is in a reserved range. 
 
static value const protocol_error
A protocol error occurred. 
 
static value const normal
Normal closure, meaning that the purpose for which the connection was established has been fulfilled...
 
static value const invalid_low
First value in range that is always invalid on the wire. 
 
static value const invalid_subprotocol_data
A invalid subprotocol data. 
 
status::value extract_code(std::string const &payload, lib::error_code &ec)
Extract a close code value from a close payload. 
 
static value const policy_violation
An endpoint received a message that violated its policy. 
 
static value const subprotocol_error
A generic subprotocol error. 
 
static value const tls_handshake
An endpoint failed to perform a TLS handshake. 
 
bool invalid(value code)
Test whether a close code is invalid on the wire. 
 
Unable to parse close code. 
 
static value const unsupported_data
The connection was terminated because an endpoint received a type of data it cannot accept...
 
bool validate(std::string const &s)
Validate a UTF8 string. 
 
Close code is in a reserved range. 
 
static value const rsv_start
First value in range reserved for future protocol use. 
 
Namespace for the WebSocket++ project. 
 
static value const going_away
The endpoint was "going away", such as a server going down or a browser navigating away from a page...
 
static value const service_restart
Indicates that the service is restarted. 
 
void close(T *e, websocketpp::connection_hdl hdl)
 
static value const omit_handshake
Close the connection without a WebSocket close handshake. 
 
static value const rsv_end
Last value in range reserved for future protocol use. 
 
static value const no_status
A dummy value to indicate that no status code was received. 
 
static value const message_too_big
An endpoint received a message too large to process. 
 
static value const force_tcp_drop
Close the connection with a forced TCP drop. 
 
std::string get_string(value code)
Return a human readable interpretation of a WebSocket close code. 
 
static value const abnormal_close
A dummy value to indicate that the connection was closed abnormally. 
 
Type used to convert close statuses between integer and wire representations. 
 
std::string extract_reason(std::string const &payload, lib::error_code &ec)
Extract the reason string from a close payload. 
 
static value const blank
A blank value for internal use.