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 WorkerError 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