anchor.diff:      return connect(new HttpException("No proxies given"));
     }
   
  -  _Credentials _findCredentials(Uri url, [_AuthenticationScheme scheme]) {
  +  _SiteCredentials _findCredentials(Uri url, [_AuthenticationScheme scheme]) {
       // Look for credentials.
  -    _Credentials cr =
  -        _credentials.fold(null, (_Credentials prev, _Credentials value) {
  +    _SiteCredentials cr =
  +        _credentials.fold(null, (prev, value) {
             if (value.applies(url, scheme)) {
               if (prev == null) return value;
               return value.uri.path.length > prev.uri.path.length ? value : prev;
  
positive.code: 
    _AuthenticationScheme get scheme => _AuthenticationScheme.DIGEST;
  
    String authorization(_Credentials credentials, HttpClientRequest request) {
      String requestUri = request._requestUri();
      MD5 hasher = new MD5();
      hasher.add(request.method.codeUnits);
  
negative.code: }
  
  
  abstract class _Credentials {
    _HttpClientCredentials credentials;
    String realm;
    bool used = false;
  
    // Digest specific fields.
    String ha1;
    String nonce;
    String algorithm;
    String qop;
    int nonceCount;
  
    _Credentials(this.realm, this.credentials) {
      if (credentials.scheme == _AuthenticationScheme.DIGEST) {
        // Calculate the H(A1) value once. There is no mentioning of
        // username/password encoding in RFC 2617. However there is an
  