- add sources.
[platform/framework/web/crosswalk.git] / src / net / websockets / websocket_errors.cc
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
11 Error 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