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 package org.apache.http.impl.client.cache;
28
29 import java.io.IOException;
30
31 import org.apache.http.HttpException;
32 import org.apache.http.HttpRequest;
33 import org.apache.http.HttpResponse;
34 import org.apache.http.HttpStatus;
35 import org.apache.http.ProtocolVersion;
36 import org.apache.http.client.methods.CloseableHttpResponse;
37 import org.apache.http.client.methods.HttpExecutionAware;
38 import org.apache.http.client.methods.HttpRequestWrapper;
39 import org.apache.http.client.protocol.HttpClientContext;
40 import org.apache.http.conn.routing.HttpRoute;
41 import org.apache.http.impl.execchain.ClientExecChain;
42 import org.apache.http.message.BasicHttpResponse;
43
44 public class DummyBackend implements ClientExecChain {
45
46 private HttpRequest request;
47 private HttpResponse response = new BasicHttpResponse(new ProtocolVersion("HTTP",1,1), HttpStatus.SC_OK, "OK");
48 private int executions = 0;
49
50 public void setResponse(final HttpResponse resp) {
51 response = resp;
52 }
53
54 public HttpRequest getCapturedRequest() {
55 return request;
56 }
57
58 @Override
59 public CloseableHttpResponse execute(
60 final HttpRoute route,
61 final HttpRequestWrapper request,
62 final HttpClientContext clientContext,
63 final HttpExecutionAware execAware) throws IOException, HttpException {
64 this.request = request;
65 executions++;
66 return Proxies.enhanceResponse(response);
67 }
68
69 public int getExecutions() {
70 return executions;
71 }
72 }