Index: net/websockets/websocket_errors.h |
diff --git a/net/websockets/websocket_errors.h b/net/websockets/websocket_errors.h |
index 35d2462cea23aa27c20b0b22f06846b29ab2a5b6..5dd66517a63a38fec4320c3052c46589f08df9ac 100644 |
--- a/net/websockets/websocket_errors.h |
+++ b/net/websockets/websocket_errors.h |
@@ -9,12 +9,66 @@ |
namespace net { |
-// Error values for WebSocket framing. |
-// This values are compatible to RFC6455 defined status codes. |
+// Reason codes used with close messages. NoStatusReceived, |
+// AbnormalClosure and TlsHandshake are special in that they |
+// should never be sent on the wire; they are only used within the |
+// implementation. |
enum WebSocketError { |
- WEB_SOCKET_OK = 1000, |
- WEB_SOCKET_ERR_PROTOCOL_ERROR = 1002, |
- WEB_SOCKET_ERR_MESSAGE_TOO_BIG = 1009 |
+ // Status codes in the range 0 to 999 are not used. |
+ |
+ // The following are standard codes defined by RFC6455. |
+ kWebSocketNormalClosure = 1000, |
+ kWebSocketErrorGoingAway = 1001, |
+ kWebSocketErrorProtocolError = 1002, |
+ kWebSocketErrorUnsupportedData = 1003, |
+ kWebSocketErrorNoStatusReceived = 1005, |
+ kWebSocketErrorAbnormalClosure = 1006, |
+ kWebSocketErrorInvalidFramePayloadData = 1007, |
+ kWebSocketErrorPolicyViolation = 1008, |
+ kWebSocketErrorMessageTooBig = 1009, |
+ kWebSocketErrorMandatoryExtension = 1010, |
+ kWebSocketErrorInternalServerError = 1011, |
+ kWebSocketErrorTlsHandshake = 1015, |
+ |
+ // The following codes are defined in the |
+ // draft-ietf-hybi-websocket-multiplexing spec and so are subject to change. |
+ // Codes starting with 2000 apply to the physical connection. They are used |
+ // for dropping the control channel. |
tyoshino (SeeGerritForStatus)
2013/05/02 13:56:22
drop reason code of multiplexing spec are used onl
Adam Rice
2013/05/04 09:51:53
I thought it was necessary to include them to make
|
+ kWebSocketErrorPhysicalConnectionFailed = 2000, |
+ kWebSocketErrorInvalidEncapsulatingMessage = 2001, |
+ kWebSocketErrorChannelIdTruncated = 2002, |
+ kWebSocketErrorEncapsulatedFrameIsTruncated = 2003, |
+ kWebSocketErrorUnknownMuxOpcode = 2004, |
+ kWebSocketErrorInvalidMuxControlBlock = 2005, |
+ kWebSocketErrorChannelAlreadyExists = 2006, |
+ kWebSocketErrorNewChannelSlotViolation = 2007, |
+ kWebSocketErrorNewChannelSlotOverFlow = 2008, |
+ kWebSocketErrorBadRequest = 2009, |
+ kWebSocketErrorUnknownRequestEncoding = 2010, |
+ kWebSocketErrorBadResponse = 2011, |
+ kWebSocketErrorUnknownResponseEncoding = 2012, |
+ |
+ // The range 1000-2999 is reserved by RFC6455 for use by the WebSocket |
+ // protocol and public extensions. |
+ kWebSocketErrorProtocolReservedMax = 2999, |
+ |
+ // Codes starting with 3000 apply to the logical connection in the |
+ // draft-ietf-hybi-websocket-multiplexing spec |
+ kWebSocketErrorLogicalChannelFailed = 3000, |
+ kWebSocketErrorSendQuotaViolation = 3005, |
+ kWebSocketErrorSendQuotaOverflow = 3006, |
+ kWebSocketErrorIdleTimeout = 3007, |
+ kWebSocketErrorDropChannelAck = 3008, |
+ kWebSocketErrorBadFragmentation = 3009, |
+ |
+ // The range 3000-3999 is reserved by RFC6455 for registered use by libraries, |
+ // frameworks and applications. |
+ kWebSocketErrorRegisteredReservedMax = 3999, |
+ |
+ // The range 4000-4999 is reserved by RFC6455 for private use by prior |
+ // agreement of the endpoints. |
+ kWebSocketErrorPrivateReservedMin = 4000, |
+ kWebSocketErrorPrivateReservedMax = 4999, |
}; |
// Convert WebSocketError to net::Error defined in net/base/net_errors.h. |
@@ -22,4 +76,4 @@ NET_EXPORT_PRIVATE Error WebSocketErrorToNetError(WebSocketError error); |
} // namespace net |
-#endif // NET_WEBSOCKETS_WEBSOCKET_FRAME_H_ |
+#endif // NET_WEBSOCKETS_WEBSOCKET_ERRORS_H_ |
tyoshino (SeeGerritForStatus)
2013/05/02 13:56:22
good catch.
|