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.net.URI;
31
32 import org.apache.http.HttpRequest;
33 import org.apache.http.HttpResponse;
34 import org.apache.http.ProtocolException;
35 import org.apache.http.annotation.Immutable;
36 import org.apache.http.client.RedirectHandler;
37 import org.apache.http.client.RedirectStrategy;
38 import org.apache.http.client.methods.HttpGet;
39 import org.apache.http.client.methods.HttpHead;
40 import org.apache.http.client.methods.HttpUriRequest;
41 import org.apache.http.protocol.HttpContext;
42
43
44
45
46 @Immutable
47 @Deprecated
48 class DefaultRedirectStrategyAdaptor implements RedirectStrategy {
49
50 private final RedirectHandler handler;
51
52 public DefaultRedirectStrategyAdaptor(final RedirectHandler handler) {
53 super();
54 this.handler = handler;
55 }
56
57 public boolean isRedirected(
58 final HttpRequest request,
59 final HttpResponse response,
60 final HttpContext context) throws ProtocolException {
61 return this.handler.isRedirectRequested(response, context);
62 }
63
64 public HttpUriRequest getRedirect(
65 final HttpRequest request,
66 final HttpResponse response,
67 final HttpContext context) throws ProtocolException {
68 final URI uri = this.handler.getLocationURI(response, context);
69 final String method = request.getRequestLine().getMethod();
70 if (method.equalsIgnoreCase(HttpHead.METHOD_NAME)) {
71 return new HttpHead(uri);
72 } else {
73 return new HttpGet(uri);
74 }
75 }
76
77 public RedirectHandler getHandler() {
78 return this.handler;
79 }
80
81 }