anchor.diff:  
         response.cookies.addAll(res.cookies);
   
  -      res.listen((data) {
  -        response.add(data);
  -      }).onDone(() {
  -        completer.complete(response.close());
  -      });
  -
  -      return completer.future;
  +      return res.pipe(response);
       }).then((_) {
         client.close();
       }).catchError((e, stack) {
  
positive.code:         }
        });
  
        request.listen((data) {
          req.add(data);
        }).onDone(() {
          completer.complete(req.close());
        });
  
        return completer.future;
      }).then((HttpClientResponse res) {
        // Special Handling for WebSockets
        if (res.statusCode == HttpStatus.SWITCHING_PROTOCOLS) {
          return proxyWebSocket(request, res);
        }
  
        var completer = new Completer();
  
        response.statusCode = res.statusCode;
  
  
negative.code:     var client = new HttpClient();
      
      return client.openUrl(request.method, target).then((req) {
        request.cookies.addAll(req.cookies);
        request.headers.forEach((name, value) {
          for (var v in value) {
  