1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/websockets/websocket_errors.h" 6 7 #include "base/logging.h" 8 9 namespace net { 10 WebSocketErrorToNetError(WebSocketError error)11Error WebSocketErrorToNetError(WebSocketError error) { 12 switch (error) { 13 case kWebSocketNormalClosure: 14 return OK; 15 16 case kWebSocketErrorGoingAway: // TODO(ricea): More specific code? 17 case kWebSocketErrorProtocolError: 18 case kWebSocketErrorUnsupportedData: 19 case kWebSocketErrorInvalidFramePayloadData: 20 case kWebSocketErrorPolicyViolation: 21 case kWebSocketErrorMandatoryExtension: 22 case kWebSocketErrorInternalServerError: 23 return ERR_WS_PROTOCOL_ERROR; 24 25 case kWebSocketErrorNoStatusReceived: 26 case kWebSocketErrorAbnormalClosure: 27 return ERR_CONNECTION_CLOSED; 28 29 case kWebSocketErrorTlsHandshake: 30 // This error will probably be reported with more detail at a lower layer; 31 // this is the best we can do at this layer. 32 return ERR_SSL_PROTOCOL_ERROR; 33 34 case kWebSocketErrorMessageTooBig: 35 return ERR_MSG_TOO_BIG; 36 37 default: 38 return ERR_UNEXPECTED; 39 } 40 } 41 42 } // namespace net 43