anchor.diff:  
     HttpClientConnection open(
         String method, String host, int port, String path) {
  -    return _open(method, host, port, path);
  +    // TODO(sgjesse): The path set here can contain both query and
  +    // fragment. They should be cracked and set correctly.
  +    return _open(method, new Uri.fromComponents(
  +        scheme: "http", domain: host, port: port, path: path));
     }
   
     HttpClientConnection _open(String method,
  -                             String host,
  -                             int port,
  -                             String path,
  +                             Uri uri,
                                [_HttpClientConnection connection]) {
       if (_shutdown) throw new HttpException("HttpClient shutdown");
  -    if (method == null || host == null || port == null || path == null) {
  +    if (method == null || uri.domain.isEmpty() == null) {
         throw new ArgumentError(null);
       }
  -    return _prepareHttpClientConnection(host, port, method, path, connection);
  +    return _prepareHttpClientConnection(method, uri, connection);
     }
   
     HttpClientConnection openUrl(String method, Uri url) {
  
positive.code:   }
  
    HttpClientConnection _prepareHttpClientConnection(
      String host,
      int port,
      String method,
      String path,
      [_HttpClientConnection connection]) {
  
      void _connectionOpened(_SocketConnection socketConn,
                             _HttpClientConnection connection) {
        connection._connectionEstablished(socketConn);
        HttpClientRequest request = connection.open(method, path);
        request.headers.host = host;
        request.headers.port = port;
  
negative.code:   Map<String, Queue<_SocketConnection>> _openSockets;
    Set<_SocketConnection> _activeSockets;
    Timer _evictionTimer;
    Function _findProxy;
    bool _shutdown;  // Has this HTTP client been shutdown?
  }
  
  