anchor.diff:    }
   
     void addCredentials(Uri url, String realm, HttpClientCredentials cr) {
  -    _credentials.add(new _Credentials(url, realm, cr));
  +    _credentials.add(new _SiteCredentials(url, realm, cr));
     }
   
     set authenticateProxy(
  
positive.code:     return connect(new HttpException("No proxies given"));
    }
  
    _Credentials _findCredentials(Uri url, [_AuthenticationScheme scheme]) {
      // Look for credentials.
      _Credentials cr =
          _credentials.fold(null, (_Credentials prev, _Credentials value) {
            if (value.applies(url, scheme)) {
              if (prev == null) return value;
              return value.uri.path.length > prev.uri.path.length ? value : prev;
  
negative.code: 
    _AuthenticationScheme get scheme => credentials.scheme;
  
    void authorize(HttpClientRequest request);
  }
  
  class _SiteCredentials extends _Credentials {
    Uri uri;
  
    _SiteCredentials(this.uri, realm, _HttpClientCredentials creds)
    : super(realm, creds);
  
    bool applies(Uri uri, _AuthenticationScheme scheme) {
      if (scheme != null && credentials.scheme != scheme) return false;
      if (uri.domain != this.uri.domain) return false;
  