Author: ningjiang
Date: Tue Feb  9 09:06:51 2010
New Revision: 907978

URL: http://svn.apache.org/viewvc?rev=907978&view=rev
Log:
CAMEL-2453 put the HttpServletRequest and HttpServletResponse into HttpMessage 
header.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
    
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpConverter.java
    
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=907978&r1=907977&r2=907978&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java 
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Tue Feb 
 9 09:06:51 2010
@@ -116,6 +116,9 @@
     String TRACE_EVENT_EXCHANGE  = "CamelTraceEventExchange";
     
     String SOAP_ACTION = "CamelSoapAction";
+    
+    String HTTP_SERVLET_REQUEST = "CamelHttpServletRequest";
+    String HTTP_SERVLET_RESPONSE = "CamelHttpServletResponse";
 
     /**
      * Returns the {...@link ExchangePattern} (MEP) of this exchange.

Modified: 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpConverter.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpConverter.java?rev=907978&r1=907977&r2=907978&view=diff
==============================================================================
--- 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpConverter.java
 (original)
+++ 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpConverter.java
 Tue Feb  9 09:06:51 2010
@@ -19,12 +19,14 @@
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
+
 import javax.servlet.ServletInputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.component.http.helper.GZIPHelper;
 
 /**
@@ -40,23 +42,25 @@
     }
 
     @Converter
-    public static HttpServletRequest toServletRequest(HttpMessage message) {
+    public static HttpServletRequest toServletRequest(Message message) {
         if (message == null) {
             return null;
         }
-        return message.getRequest();
+        return message.getHeader(Exchange.HTTP_SERVLET_REQUEST, 
HttpServletRequest.class);
     }
 
     @Converter
-    public static HttpServletResponse toServletResponse(HttpMessage message) {
+    public static HttpServletResponse toServletResponse(Message message) {
         if (message == null) {
             return null;
         }
-        return message.getResponse();
+        return message.getHeader(Exchange.HTTP_SERVLET_RESPONSE, 
HttpServletResponse.class);
     }
+    
+    
 
     @Converter
-    public static ServletInputStream toServletInputStream(HttpMessage message) 
throws IOException {
+    public static ServletInputStream toServletInputStream(Message message) 
throws IOException {
         HttpServletRequest request = toServletRequest(message);
         if (request != null) {
             return request.getInputStream();
@@ -65,12 +69,12 @@
     }
 
     @Converter
-    public static InputStream toInputStream(HttpMessage message) throws 
Exception {
+    public static InputStream toInputStream(Message message) throws Exception {
         return toInputStream(toServletRequest(message));
     }
 
     @Converter
-    public static BufferedReader toReader(HttpMessage message) throws 
IOException {
+    public static BufferedReader toReader(Message message) throws IOException {
         HttpServletRequest request = toServletRequest(message);
         if (request != null) {
             return request.getReader();

Modified: 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java?rev=907978&r1=907977&r2=907978&view=diff
==============================================================================
--- 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java
 (original)
+++ 
camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java
 Tue Feb  9 09:06:51 2010
@@ -37,6 +37,9 @@
         setExchange(exchange);
         this.request = request;
         this.response = response;
+        // Put the request and response into the message header
+        this.setHeader(Exchange.HTTP_SERVLET_REQUEST, request);
+        this.setHeader(Exchange.HTTP_SERVLET_RESPONSE, response);
 
         // use binding to read the request allowing end users to use their
         // implementation of the binding


Reply via email to