anchor.diff:      return new Future.value(new _VMConnection(uri));
     }
   
  -  Future<Map> request(String request, [Map params = const {}]) {
  +  Future<Map> request(String request, [Map params = const {}]) async {
       request = _getLegacyRequest(request, params);
       _log.fine('Send> $uri/$request');
  -    return http.get('$uri/$request').then((resp) => resp.body).then((resp) {
  -      _log.fine('Recv< $resp');
  -      return resp.isEmpty ? {} : JSON.decode(resp);
  -    });
  +    var response = (await http.get('$uri/$request')).body;
  +    _log.fine('Recv< $response');
  +    return response.isEmpty ? {} : JSON.decode(response);
     }
   
     Future close() => new Future.value();
  
positive.code:     _socket.listen(_handleResponse);
    }
  
    static Future<_Connection> connect(String host, int port) {
      _log.fine('Connecting to VM via Chromium remote debugging protocol');
      var uri = 'http://$host:$port/json';
  
  
negative.code:       return debuggerUrl;
      }
  
      var response = await http.get(uri);
      var webSocketDebuggerUrl = _getWebsocketDebuggerUrl(response);
      var socket = await WebSocket.connect(webSocketDebuggerUrl);
      return new _DevtoolsConnection(socket);
    }
  
    Future<Map> request(String request, [Map params = const {}]) {
  