Chromium Code Reviews| 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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 150 return true; | 150 return true; |
| 151 } | 151 } |
| 152 for (String origin in origins) { | 152 for (String origin in origins) { |
| 153 if (_isAllowedOrigin(origin)) { | 153 if (_isAllowedOrigin(origin)) { |
| 154 return true; | 154 return true; |
| 155 } | 155 } |
| 156 } | 156 } |
| 157 return false; | 157 return false; |
| 158 } | 158 } |
| 159 | 159 |
| 160 void _requestHandler(HttpRequest request) { | 160 Future _requestHandler(HttpRequest request) async { |
| 161 if (!_originCheck(request)) { | 161 if (!_originCheck(request)) { |
| 162 // This is a cross origin attempt to connect | 162 // This is a cross origin attempt to connect |
| 163 request.response.close(); | 163 request.response.close(); |
| 164 return; | 164 return; |
| 165 } | 165 } |
| 166 if (request.method == 'PUT') { | |
| 167 // PUT requests are forwarded to DevFS for processing. | |
| 168 | |
| 169 Object fsNameList; | |
|
rmacnak
2016/08/08 16:33:42
var or List: fsNameList[0] below is a static warni
Cutch
2016/08/08 17:22:05
Done.
| |
| 170 Object fsPathList; | |
| 171 Object fsName; | |
| 172 Object fsPath; | |
| 173 | |
| 174 try { | |
| 175 // Extract the fs name and fs path from the request headers. | |
| 176 fsNameList = request.headers['dev_fs_name']; | |
| 177 fsPathList = request.headers['dev_fs_path']; | |
| 178 fsName = fsNameList[0]; | |
| 179 fsPath = fsPathList[0]; | |
| 180 } catch (e) { /* ignore */ } | |
| 181 | |
| 182 String result; | |
| 183 try { | |
| 184 result = await _service.devfs.handlePutStream( | |
| 185 fsName, | |
| 186 fsPath, | |
| 187 request.transform(GZIP.decoder)); | |
| 188 } catch (e) { /* ignore */ } | |
|
rmacnak
2016/08/08 16:33:42
A write error (out of disk space) would end up her
Cutch
2016/08/08 17:22:05
DevFS currently doesn't report write errors or out
| |
| 189 | |
| 190 if (result != null) { | |
| 191 request.response.headers.contentType = | |
| 192 HttpRequestClient.jsonContentType; | |
| 193 request.response.write(result); | |
| 194 } | |
| 195 request.response.close(); | |
| 196 return; | |
| 197 } | |
| 166 if (request.method != 'GET') { | 198 if (request.method != 'GET') { |
| 167 // Not a GET request. Do nothing. | 199 // Not a GET request. Do nothing. |
| 168 request.response.close(); | 200 request.response.close(); |
| 169 return; | 201 return; |
| 170 } | 202 } |
| 171 | 203 |
| 172 final String path = | 204 final String path = |
| 173 request.uri.path == '/' ? ROOT_REDIRECT_PATH : request.uri.path; | 205 request.uri.path == '/' ? ROOT_REDIRECT_PATH : request.uri.path; |
| 174 | 206 |
| 175 if (path == WEBSOCKET_PATH) { | 207 if (path == WEBSOCKET_PATH) { |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 272 _notifyServerState("", 0); | 304 _notifyServerState("", 0); |
| 273 onServerAddressChange(null); | 305 onServerAddressChange(null); |
| 274 return this; | 306 return this; |
| 275 }); | 307 }); |
| 276 } | 308 } |
| 277 | 309 |
| 278 } | 310 } |
| 279 | 311 |
| 280 void _notifyServerState(String ip, int port) | 312 void _notifyServerState(String ip, int port) |
| 281 native "VMServiceIO_NotifyServerState"; | 313 native "VMServiceIO_NotifyServerState"; |
| OLD | NEW |