1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.impl.client;
29
30 import java.util.List;
31 import java.util.Map;
32
33 import org.apache.http.Header;
34 import org.apache.http.HttpResponse;
35 import org.apache.http.HttpStatus;
36 import org.apache.http.annotation.Contract;
37 import org.apache.http.annotation.ThreadingBehavior;
38 import org.apache.http.auth.AUTH;
39 import org.apache.http.auth.MalformedChallengeException;
40 import org.apache.http.auth.params.AuthPNames;
41 import org.apache.http.protocol.HttpContext;
42 import org.apache.http.util.Args;
43
44
45
46
47
48
49
50
51
52 @Deprecated
53 @Contract(threading = ThreadingBehavior.IMMUTABLE)
54 public class DefaultTargetAuthenticationHandler extends AbstractAuthenticationHandler {
55
56 public DefaultTargetAuthenticationHandler() {
57 super();
58 }
59
60 @Override
61 public boolean isAuthenticationRequested(
62 final HttpResponse response,
63 final HttpContext context) {
64 Args.notNull(response, "HTTP response");
65 final int status = response.getStatusLine().getStatusCode();
66 return status == HttpStatus.SC_UNAUTHORIZED;
67 }
68
69 @Override
70 public Map<String, Header> getChallenges(
71 final HttpResponse response,
72 final HttpContext context) throws MalformedChallengeException {
73 Args.notNull(response, "HTTP response");
74 final Header[] headers = response.getHeaders(AUTH.WWW_AUTH);
75 return parseChallenges(headers);
76 }
77
78 @Override
79 protected List<String> getAuthPreferences(
80 final HttpResponse response,
81 final HttpContext context) {
82 @SuppressWarnings("unchecked")
83 final
84 List<String> authpref = (List<String>) response.getParams().getParameter(
85 AuthPNames.TARGET_AUTH_PREF);
86 if (authpref != null) {
87 return authpref;
88 } else {
89 return super.getAuthPreferences(response, context);
90 }
91 }
92
93 }
94