1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit;
16
17 import java.util.Collections;
18 import java.util.List;
19
20 import org.htmlunit.util.NameValuePair;
21 import org.htmlunit.util.WebResponseWrapper;
22
23
24
25
26
27
28
29 class WebResponseFromCache extends WebResponseWrapper {
30
31 private final WebRequest request_;
32 private final List<NameValuePair> responseHeaders_;
33
34
35
36
37
38
39
40 WebResponseFromCache(final WebResponse cachedResponse,
41 final List<NameValuePair> overwriteHeaders, final WebRequest currentRequest) {
42 super(cachedResponse);
43 request_ = currentRequest;
44 responseHeaders_ = Collections.unmodifiableList(overwriteHeaders);
45 }
46
47
48
49
50
51
52 WebResponseFromCache(final WebResponse cachedResponse, final WebRequest currentRequest) {
53 super(cachedResponse);
54 request_ = currentRequest;
55 responseHeaders_ = null;
56 }
57
58
59
60
61 @Override
62 public WebRequest getWebRequest() {
63 return request_;
64 }
65
66
67
68
69 @Override
70 public List<NameValuePair> getResponseHeaders() {
71 return responseHeaders_ != null ? responseHeaders_ : super.getResponseHeaders();
72 }
73
74
75
76
77 @Override
78 public String getResponseHeaderValue(final String headerName) {
79 if (responseHeaders_ == null) {
80 return super.getResponseHeaderValue(headerName);
81 }
82
83 for (final NameValuePair pair : responseHeaders_) {
84 if (pair.getName().equalsIgnoreCase(headerName)) {
85 return pair.getValue();
86 }
87 }
88 return null;
89 }
90 }