in client/src/main/java/org/apache/ahc/auth/DigestScheme.java [343:387]
private String createDigestHeader(final String uname, final String digest)
throws AuthenticationException {
LOG.trace("enter DigestScheme.createDigestHeader(String, Map, "
+ "String)");
String uri = getParameter("uri");
String realm = getParameter("realm");
String nonce = getParameter("nonce");
String opaque = getParameter("opaque");
String response = digest;
String algorithm = getParameter("algorithm");
List<NameValuePair> params = new ArrayList<NameValuePair>(20);
params.add(new NameValuePair("username", uname));
params.add(new NameValuePair("realm", realm));
params.add(new NameValuePair("nonce", nonce));
params.add(new NameValuePair("uri", uri));
params.add(new NameValuePair("response", response));
if (qopVariant != QOP_MISSING) {
params.add(new NameValuePair("qop", getQopVariantString()));
params.add(new NameValuePair("nc", NC));
params.add(new NameValuePair("cnonce", this.cnonce));
}
if (algorithm != null) {
params.add(new NameValuePair("algorithm", algorithm));
}
if (opaque != null) {
params.add(new NameValuePair("opaque", opaque));
}
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < params.size(); i++) {
NameValuePair param = (NameValuePair) params.get(i);
if (i > 0) {
buffer.append(", ");
}
boolean noQuotes = "nc".equals(param.getName()) ||
"qop".equals(param.getName());
this.formatter.setAlwaysUseQuotes(!noQuotes);
this.formatter.format(buffer, param);
}
return buffer.toString();
}