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.Immutable;
37 import org.apache.http.auth.AUTH;
38 import org.apache.http.auth.MalformedChallengeException;
39 import org.apache.http.auth.params.AuthPNames;
40 import org.apache.http.client.AuthenticationHandler;
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 @Immutable
54 public class DefaultProxyAuthenticationHandler extends AbstractAuthenticationHandler {
55
56 public DefaultProxyAuthenticationHandler() {
57 super();
58 }
59
60 public boolean isAuthenticationRequested(
61 final HttpResponse response,
62 final HttpContext context) {
63 Args.notNull(response, "HTTP response");
64 final int status = response.getStatusLine().getStatusCode();
65 return status == HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED;
66 }
67
68 public Map<String, Header> getChallenges(
69 final HttpResponse response,
70 final HttpContext context) throws MalformedChallengeException {
71 Args.notNull(response, "HTTP response");
72 final Header[] headers = response.getHeaders(AUTH.PROXY_AUTH);
73 return parseChallenges(headers);
74 }
75
76 @Override
77 protected List<String> getAuthPreferences(
78 final HttpResponse response,
79 final HttpContext context) {
80 @SuppressWarnings("unchecked")
81 final
82 List<String> authpref = (List<String>) response.getParams().getParameter(
83 AuthPNames.PROXY_AUTH_PREF);
84 if (authpref != null) {
85 return authpref;
86 } else {
87 return super.getAuthPreferences(response, context);
88 }
89 }
90
91 }