| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of vmservice_io; | 5 part of vmservice_io; |
| 6 | 6 |
| 7 class WebSocketClient extends Client { | 7 class WebSocketClient extends Client { |
| 8 static const int PARSE_ERROR_CODE = 4000; | 8 static const int PARSE_ERROR_CODE = 4000; |
| 9 static const int BINARY_MESSAGE_ERROR_CODE = 4001; | 9 static const int BINARY_MESSAGE_ERROR_CODE = 4001; |
| 10 static const int NOT_MAP_ERROR_CODE = 4002; | 10 static const int NOT_MAP_ERROR_CODE = 4002; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 } catch (e) { | 25 } catch (e) { |
| 26 socket.close(PARSE_ERROR_CODE, 'Message parse error: $e'); | 26 socket.close(PARSE_ERROR_CODE, 'Message parse error: $e'); |
| 27 return; | 27 return; |
| 28 } | 28 } |
| 29 if (map is! Map) { | 29 if (map is! Map) { |
| 30 socket.close(NOT_MAP_ERROR_CODE, 'Message must be a JSON map.'); | 30 socket.close(NOT_MAP_ERROR_CODE, 'Message must be a JSON map.'); |
| 31 return; | 31 return; |
| 32 } | 32 } |
| 33 var serial = map['id']; | 33 var serial = map['id']; |
| 34 | 34 |
| 35 // If the map contains 'params' then this is a JsonRPC message. | 35 onMessage(serial, new Message.fromJsonRpc(map['method'], map['params'])); |
| 36 // We are currently in the process of switching the vmservice over to | |
| 37 // JsonRPC. | |
| 38 if (map['params'] != null) { | |
| 39 onMessage(serial, new Message.fromJsonRpc(map['method'], | |
| 40 map['params'])); | |
| 41 } else { | |
| 42 onMessage(serial, new Message.fromUri(Uri.parse(map['method']))); | |
| 43 } | |
| 44 } else { | 36 } else { |
| 45 socket.close(BINARY_MESSAGE_ERROR_CODE, 'Message must be a string.'); | 37 socket.close(BINARY_MESSAGE_ERROR_CODE, 'Message must be a string.'); |
| 46 } | 38 } |
| 47 } | 39 } |
| 48 | 40 |
| 49 void post(var serial, dynamic response) { | 41 void post(var serial, dynamic response) { |
| 50 try { | 42 try { |
| 51 Map map = { | 43 Map map = { |
| 52 'id': serial, | 44 'id': serial, |
| 53 'response': response | 45 'response': response |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 _server = null; | 204 _server = null; |
| 213 print('Could not shutdown Observatory HTTP server:\n$e\n$st\n'); | 205 print('Could not shutdown Observatory HTTP server:\n$e\n$st\n'); |
| 214 _notifyServerState("", 0); | 206 _notifyServerState("", 0); |
| 215 return this; | 207 return this; |
| 216 }); | 208 }); |
| 217 } | 209 } |
| 218 | 210 |
| 219 } | 211 } |
| 220 | 212 |
| 221 void _notifyServerState(String ip, int port) | 213 void _notifyServerState(String ip, int port) |
| 222 native "VMServiceIO_NotifyServerState"; | 214 native "VMServiceIO_NotifyServerState"; |
| OLD | NEW |