1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef NET_WEBSOCKETS_WEBSOCKET_ERRORS_H_ 6*6777b538SAndroid Build Coastguard Worker #define NET_WEBSOCKETS_WEBSOCKET_ERRORS_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include "net/base/net_errors.h" 9*6777b538SAndroid Build Coastguard Worker #include "net/base/net_export.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace net { 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker // Reason codes used with close messages. NoStatusReceived, 14*6777b538SAndroid Build Coastguard Worker // AbnormalClosure and TlsHandshake are special in that they 15*6777b538SAndroid Build Coastguard Worker // should never be sent on the wire; they are only used within the 16*6777b538SAndroid Build Coastguard Worker // implementation. 17*6777b538SAndroid Build Coastguard Worker enum WebSocketError { 18*6777b538SAndroid Build Coastguard Worker // Status codes in the range 0 to 999 are not used. 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Worker // The following are defined by RFC6455. 21*6777b538SAndroid Build Coastguard Worker kWebSocketNormalClosure = 1000, 22*6777b538SAndroid Build Coastguard Worker kWebSocketErrorGoingAway = 1001, 23*6777b538SAndroid Build Coastguard Worker kWebSocketErrorProtocolError = 1002, 24*6777b538SAndroid Build Coastguard Worker kWebSocketErrorUnsupportedData = 1003, 25*6777b538SAndroid Build Coastguard Worker kWebSocketErrorNoStatusReceived = 1005, 26*6777b538SAndroid Build Coastguard Worker kWebSocketErrorAbnormalClosure = 1006, 27*6777b538SAndroid Build Coastguard Worker kWebSocketErrorInvalidFramePayloadData = 1007, 28*6777b538SAndroid Build Coastguard Worker kWebSocketErrorPolicyViolation = 1008, 29*6777b538SAndroid Build Coastguard Worker kWebSocketErrorMessageTooBig = 1009, 30*6777b538SAndroid Build Coastguard Worker kWebSocketErrorMandatoryExtension = 1010, 31*6777b538SAndroid Build Coastguard Worker kWebSocketErrorInternalServerError = 1011, 32*6777b538SAndroid Build Coastguard Worker kWebSocketErrorTlsHandshake = 1015, 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker // The range 1000-2999 is reserved by RFC6455 for use by the WebSocket 35*6777b538SAndroid Build Coastguard Worker // protocol and public extensions. 36*6777b538SAndroid Build Coastguard Worker kWebSocketErrorProtocolReservedMax = 2999, 37*6777b538SAndroid Build Coastguard Worker 38*6777b538SAndroid Build Coastguard Worker // The range 3000-3999 is reserved by RFC6455 for registered use by libraries, 39*6777b538SAndroid Build Coastguard Worker // frameworks and applications. 40*6777b538SAndroid Build Coastguard Worker kWebSocketErrorRegisteredReservedMin = 3000, 41*6777b538SAndroid Build Coastguard Worker kWebSocketErrorRegisteredReservedMax = 3999, 42*6777b538SAndroid Build Coastguard Worker 43*6777b538SAndroid Build Coastguard Worker // The range 4000-4999 is reserved by RFC6455 for private use by prior 44*6777b538SAndroid Build Coastguard Worker // agreement of the endpoints. 45*6777b538SAndroid Build Coastguard Worker kWebSocketErrorPrivateReservedMin = 4000, 46*6777b538SAndroid Build Coastguard Worker kWebSocketErrorPrivateReservedMax = 4999, 47*6777b538SAndroid Build Coastguard Worker }; 48*6777b538SAndroid Build Coastguard Worker 49*6777b538SAndroid Build Coastguard Worker // Convert WebSocketError to net::Error defined in net/base/net_errors.h. 50*6777b538SAndroid Build Coastguard Worker NET_EXPORT_PRIVATE Error WebSocketErrorToNetError(WebSocketError error); 51*6777b538SAndroid Build Coastguard Worker 52*6777b538SAndroid Build Coastguard Worker } // namespace net 53*6777b538SAndroid Build Coastguard Worker 54*6777b538SAndroid Build Coastguard Worker #endif // NET_WEBSOCKETS_WEBSOCKET_ERRORS_H_ 55