Author: ningjiang
Date: Tue Dec 18 08:27:46 2012
New Revision: 1423317
URL: http://svn.apache.org/viewvc?rev=1423317&view=rev
Log:
CAMEL-5890 Fix the same NPE issue in HttpEntityConverter
Merged revisions 1423301 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r1423301 | ningjiang | 2012-12-18 15:11:19 +0800 (Tue, 18 Dec 2012) | 1 line
CAMEL-5890 Fix the same NPE issue in HttpEntityConverter
........
Modified:
camel/branches/camel-2.10.x/ (props changed)
camel/branches/camel-2.10.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1423301
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
camel/branches/camel-2.10.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java?rev=1423317&r1=1423316&r2=1423317&view=diff
==============================================================================
---
camel/branches/camel-2.10.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java
(original)
+++
camel/branches/camel-2.10.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java
Tue Dec 18 08:27:46 2012
@@ -48,7 +48,7 @@ public final class HttpEntityConverter {
@Converter
public static HttpEntity toHttpEntity(String str, Exchange exchange)
throws Exception {
- if (GZIPHelper.isGzip(exchange.getIn())) {
+ if (exchange != null && GZIPHelper.isGzip(exchange.getIn())) {
byte[] data =
exchange.getContext().getTypeConverter().convertTo(byte[].class, str);
return asHttpEntity(data, exchange);
} else {
@@ -58,33 +58,36 @@ public final class HttpEntityConverter {
}
private static HttpEntity asHttpEntity(InputStream in, Exchange exchange)
throws IOException {
- String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
- String contentType = ExchangeHelper.getContentType(exchange);
-
InputStreamEntity entity;
if (!exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE,
Boolean.class)) {
+ String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
entity = new
InputStreamEntity(GZIPHelper.compressGzip(contentEncoding, in), -1);
} else {
entity = new InputStreamEntity(in, -1);
}
- entity.setContentEncoding(contentEncoding);
- entity.setContentType(contentType);
+ if (exchange != null) {
+ String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
+ String contentType = ExchangeHelper.getContentType(exchange);
+ entity.setContentEncoding(contentEncoding);
+ entity.setContentType(contentType);
+ }
return entity;
}
private static HttpEntity asHttpEntity(byte[] data, Exchange exchange)
throws Exception {
- String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
- String contentType = ExchangeHelper.getContentType(exchange);
-
InputStreamEntity entity;
- if (!exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE,
Boolean.class)) {
+ if (exchange != null &&
!exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE,
Boolean.class)) {
+ String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
entity = new
InputStreamEntity(GZIPHelper.compressGzip(contentEncoding, data), -1);
} else {
entity = new InputStreamEntity(new ByteArrayInputStream(data), -1);
}
- entity.setContentEncoding(contentEncoding);
- entity.setContentType(contentType);
-
+ if (exchange != null) {
+ String contentEncoding =
exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
+ String contentType = ExchangeHelper.getContentType(exchange);
+ entity.setContentEncoding(contentEncoding);
+ entity.setContentType(contentType);
+ }
return entity;
}
}
\ No newline at end of file