public String authenticate()

in client/src/main/java/org/apache/ahc/auth/DigestScheme.java [176:208]


    public String authenticate(Credentials credentials, HttpRequestMessage request)
    throws AuthenticationException {

        LOG.trace("enter DigestScheme.authenticate(Credentials, HttpMethod)");

        UsernamePasswordCredentials usernamepassword = null;
        try {
            usernamepassword = (UsernamePasswordCredentials) credentials;
        } catch (ClassCastException e) {
            throw new InvalidCredentialsException(
                    "Credentials cannot be used for digest authentication: "
                    + credentials.getClass().getName());
        }
        getParameters().put("methodname", request.getRequestMethod().name());
        StringBuffer buffer = new StringBuffer(request.getPath());
        String query = request.getUrl().getQuery();
        if (query != null) {
            if (query.indexOf("?") != 0) {
                buffer.append("?");
            }
            buffer.append(request.getQuery());
        }
        getParameters().put("uri", buffer.toString());
        String charset = getParameter("charset");
        if (charset == null) {
            getParameters().put("charset", request.getCredentialCharset());
        }
        String digest = createDigest(
            usernamepassword.getUserName(),
            usernamepassword.getPassword());
        return "Digest " + createDigestHeader(usernamepassword.getUserName(),
                digest);
    }