Skip to content

Commit 4beb34d

Browse files
author
Stephane Landelle
committed
Fix proposal for AsyncHttpClient#182 against 1.7.x
1 parent a7cdd0c commit 4beb34d

File tree

3 files changed

+15
-54
lines changed

3 files changed

+15
-54
lines changed

src/main/java/com/ning/http/client/providers/apache/ApacheResponse.java

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
public class ApacheResponse implements Response {
3737
private final static String DEFAULT_CHARSET = "ISO-8859-1";
38-
private final static String HEADERS_NOT_COMPUTED = "Response's headers hasn't been computed by your AsyncHandler.";
3938

4039
private final URI uri;
4140
private final Collection<HttpResponseBodyPart> bodyParts;
@@ -129,37 +128,25 @@ public URI getUri() throws MalformedURLException {
129128
/* @Override */
130129

131130
public String getContentType() {
132-
if (headers == null) {
133-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
134-
}
135-
return headers.getHeaders().getFirstValue("Content-Type");
131+
return headers != null? headers.getHeaders().getFirstValue("Content-Type"): null;
136132
}
137133

138134
/* @Override */
139135

140136
public String getHeader(String name) {
141-
if (headers == null) {
142-
throw new IllegalStateException();
143-
}
144-
return headers.getHeaders().getFirstValue(name);
137+
return headers != null? headers.getHeaders().getFirstValue(name): null;
145138
}
146139

147140
/* @Override */
148141

149142
public List<String> getHeaders(String name) {
150-
if (headers == null) {
151-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
152-
}
153-
return headers.getHeaders().get(name);
143+
return headers != null? headers.getHeaders().get(name): Collections.<String> emptyList();
154144
}
155145

156146
/* @Override */
157147

158148
public FluentCaseInsensitiveStringsMap getHeaders() {
159-
if (headers == null) {
160-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
161-
}
162-
return headers.getHeaders();
149+
return headers != null? headers.getHeaders(): new FluentCaseInsensitiveStringsMap();
163150
}
164151

165152
/* @Override */
@@ -172,7 +159,7 @@ public boolean isRedirected() {
172159

173160
public List<Cookie> getCookies() {
174161
if (headers == null) {
175-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
162+
return Collections.emptyList();
176163
}
177164
if (cookies.isEmpty()) {
178165
for (Map.Entry<String, List<String>> header : headers.getHeaders().entrySet()) {

src/main/java/com/ning/http/client/providers/jdk/JDKResponse.java

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636

3737
public class JDKResponse implements Response {
3838
private final static String DEFAULT_CHARSET = "ISO-8859-1";
39-
private final static String HEADERS_NOT_COMPUTED = "Response's headers hasn't been computed by your AsyncHandler.";
4039

4140
private final URI uri;
4241
private final Collection<HttpResponseBodyPart> bodyParts;
@@ -141,37 +140,25 @@ public URI getUri() throws MalformedURLException {
141140
/* @Override */
142141

143142
public String getContentType() {
144-
if (headers == null) {
145-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
146-
}
147-
return headers.getHeaders().getFirstValue("Content-Type");
143+
return headers != null? headers.getHeaders().getFirstValue("Content-Type"): null;
148144
}
149145

150146
/* @Override */
151147

152148
public String getHeader(String name) {
153-
if (headers == null) {
154-
throw new IllegalStateException();
155-
}
156-
return headers.getHeaders().getFirstValue(name);
149+
return headers != null? headers.getHeaders().getFirstValue(name): null;
157150
}
158151

159152
/* @Override */
160153

161154
public List<String> getHeaders(String name) {
162-
if (headers == null) {
163-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
164-
}
165-
return headers.getHeaders().get(name);
155+
return headers != null? headers.getHeaders().get(name): Collections.<String> emptyList();
166156
}
167157

168158
/* @Override */
169159

170160
public FluentCaseInsensitiveStringsMap getHeaders() {
171-
if (headers == null) {
172-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
173-
}
174-
return headers.getHeaders();
161+
return headers != null? headers.getHeaders(): new FluentCaseInsensitiveStringsMap();
175162
}
176163

177164
/* @Override */
@@ -184,7 +171,7 @@ public boolean isRedirected() {
184171

185172
public List<Cookie> getCookies() {
186173
if (headers == null) {
187-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
174+
return Collections.emptyList();
188175
}
189176
if (cookies.isEmpty()) {
190177
for (Map.Entry<String, List<String>> header : headers.getHeaders().entrySet()) {

src/main/java/com/ning/http/client/providers/netty/NettyResponse.java

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
*/
4242
public class NettyResponse implements Response {
4343
private final static String DEFAULT_CHARSET = "ISO-8859-1";
44-
private final static String HEADERS_NOT_COMPUTED = "Response's headers hasn't been computed by your AsyncHandler.";
4544

4645
private final URI uri;
4746
private final Collection<HttpResponseBodyPart> bodyParts;
@@ -138,37 +137,25 @@ public URI getUri() throws MalformedURLException {
138137
/* @Override */
139138

140139
public String getContentType() {
141-
if (headers == null) {
142-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
143-
}
144-
return headers.getHeaders().getFirstValue("Content-Type");
140+
return headers != null? headers.getHeaders().getFirstValue("Content-Type"): null;
145141
}
146142

147143
/* @Override */
148144

149145
public String getHeader(String name) {
150-
if (headers == null) {
151-
throw new IllegalStateException();
152-
}
153-
return headers.getHeaders().getFirstValue(name);
146+
return headers != null? headers.getHeaders().getFirstValue(name): null;
154147
}
155148

156149
/* @Override */
157150

158151
public List<String> getHeaders(String name) {
159-
if (headers == null) {
160-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
161-
}
162-
return headers.getHeaders().get(name);
152+
return headers != null? headers.getHeaders().get(name): Collections.<String> emptyList();
163153
}
164154

165155
/* @Override */
166156

167157
public FluentCaseInsensitiveStringsMap getHeaders() {
168-
if (headers == null) {
169-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
170-
}
171-
return headers.getHeaders();
158+
return headers != null? headers.getHeaders(): new FluentCaseInsensitiveStringsMap();
172159
}
173160

174161
/* @Override */
@@ -181,7 +168,7 @@ public boolean isRedirected() {
181168

182169
public List<Cookie> getCookies() {
183170
if (headers == null) {
184-
throw new IllegalStateException(HEADERS_NOT_COMPUTED);
171+
return Collections.emptyList();
185172
}
186173
if (cookies.isEmpty()) {
187174
for (Map.Entry<String, List<String>> header : headers.getHeaders().entrySet()) {

0 commit comments

Comments
 (0)