Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / net / websockets / websocket_errors.cc
blobb7ca7bc563679a4f15aa94fe44a29a3da458af56
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.
5 #include "net/websockets/websocket_errors.h"
7 #include "base/logging.h"
9 namespace net {
11 Error WebSocketErrorToNetError(WebSocketError error) {
12 switch (error) {
13 case kWebSocketNormalClosure:
14 return OK;
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;
25 case kWebSocketErrorNoStatusReceived:
26 case kWebSocketErrorAbnormalClosure:
27 return ERR_CONNECTION_CLOSED;
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;
34 case kWebSocketErrorMessageTooBig:
35 return ERR_MSG_TOO_BIG;
37 default:
38 return ERR_UNEXPECTED;
42 } // namespace net