xref: /aosp_15_r20/external/cronet/net/websockets/websocket_errors.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 #include "net/websockets/websocket_errors.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker namespace net {
9*6777b538SAndroid Build Coastguard Worker 
WebSocketErrorToNetError(WebSocketError error)10*6777b538SAndroid Build Coastguard Worker Error WebSocketErrorToNetError(WebSocketError error) {
11*6777b538SAndroid Build Coastguard Worker   switch (error) {
12*6777b538SAndroid Build Coastguard Worker     case kWebSocketNormalClosure:
13*6777b538SAndroid Build Coastguard Worker       return OK;
14*6777b538SAndroid Build Coastguard Worker 
15*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorGoingAway:  // TODO(ricea): More specific code?
16*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorProtocolError:
17*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorUnsupportedData:
18*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorInvalidFramePayloadData:
19*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorPolicyViolation:
20*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorMandatoryExtension:
21*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorInternalServerError:
22*6777b538SAndroid Build Coastguard Worker       return ERR_WS_PROTOCOL_ERROR;
23*6777b538SAndroid Build Coastguard Worker 
24*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorNoStatusReceived:
25*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorAbnormalClosure:
26*6777b538SAndroid Build Coastguard Worker       return ERR_CONNECTION_CLOSED;
27*6777b538SAndroid Build Coastguard Worker 
28*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorTlsHandshake:
29*6777b538SAndroid Build Coastguard Worker       // This error will probably be reported with more detail at a lower layer;
30*6777b538SAndroid Build Coastguard Worker       // this is the best we can do at this layer.
31*6777b538SAndroid Build Coastguard Worker       return ERR_SSL_PROTOCOL_ERROR;
32*6777b538SAndroid Build Coastguard Worker 
33*6777b538SAndroid Build Coastguard Worker     case kWebSocketErrorMessageTooBig:
34*6777b538SAndroid Build Coastguard Worker       return ERR_MSG_TOO_BIG;
35*6777b538SAndroid Build Coastguard Worker 
36*6777b538SAndroid Build Coastguard Worker     default:
37*6777b538SAndroid Build Coastguard Worker       return ERR_UNEXPECTED;
38*6777b538SAndroid Build Coastguard Worker   }
39*6777b538SAndroid Build Coastguard Worker }
40*6777b538SAndroid Build Coastguard Worker 
41*6777b538SAndroid Build Coastguard Worker }  // namespace net
42