diff --git a/src/main/java/com/ning/http/client/Realm.java b/src/main/java/com/ning/http/client/Realm.java index 95b2255357..111390ac67 100644 --- a/src/main/java/com/ning/http/client/Realm.java +++ b/src/main/java/com/ning/http/client/Realm.java @@ -22,8 +22,6 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import com.ning.http.util.MiscUtil; - /** * This class is required when authentication is needed. The class support DIGEST and BASIC. */ @@ -433,7 +431,10 @@ public RealmBuilder setUsePreemptiveAuth(boolean usePreemptiveAuth) { public RealmBuilder parseWWWAuthenticateHeader(String headerLine) { setRealmName(match(headerLine, "realm")); setNonce(match(headerLine, "nonce")); - setAlgorithm(match(headerLine, "algorithm")); + String algorithm = match(headerLine, "algorithm"); + if (isNonEmpty(algorithm)) { + setAlgorithm(algorithm); + } setOpaque(match(headerLine, "opaque")); setQop(match(headerLine, "qop")); if (isNonEmpty(getNonce())) { diff --git a/src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java b/src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java index 15e8eec7cc..37a25c7440 100644 --- a/src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java +++ b/src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java @@ -2107,7 +2107,7 @@ public void handle(final ChannelHandlerContext ctx, final MessageEvent e) throws .parseWWWAuthenticateHeader(wwwAuth.get(0)).build(); } - final Realm nr = new Realm.RealmBuilder().clone(newRealm).setUri(request.getUrl()).build(); + final Realm nr = new Realm.RealmBuilder().clone(newRealm).setUri(request.getURI().getPath()).build(); log.debug("Sending authentication to {}", request.getUrl()); AsyncCallable ac = new AsyncCallable(future) {