[jboss-remoting-commits] JBoss Remoting SVN: r5189 - remoting2/branches/2.2/src/main/org/jboss/remoting/transport/http.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Sun May 10 02:48:42 EDT 2009


Author: ron.sigal at jboss.com
Date: 2009-05-10 02:48:42 -0400 (Sun, 10 May 2009)
New Revision: 5189

Modified:
   remoting2/branches/2.2/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java
Log:
JBREM-1079: (1) Implements line preservation feature; (2) puts response headers map in metadata map.

Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java	2009-05-10 06:47:36 UTC (rev 5188)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/transport/http/HTTPClientInvoker.java	2009-05-10 06:48:42 UTC (rev 5189)
@@ -37,6 +37,7 @@
 import org.jboss.remoting.marshal.VersionedUnMarshaller;
 import org.jboss.remoting.marshal.compress.CompressingUnMarshaller;
 import org.jboss.remoting.marshal.http.HTTPMarshaller;
+import org.jboss.remoting.marshal.http.HTTPUnMarshaller;
 import org.jboss.remoting.marshal.serializable.SerializableUnMarshaller;
 import org.jboss.remoting.serialization.ClassLoaderUtility;
 import org.jboss.remoting.transport.servlet.ServletThrowable;
@@ -313,6 +314,7 @@
 
             metadata.put(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, conn.getResponseMessage());
             metadata.put(HTTPMetadataConstants.RESPONSE_CODE, new Integer(responseCode));
+            metadata.put(HTTPMetadataConstants.RESPONSE_HEADERS, headers);
 
             InputStream is = (responseCode < 400) ? conn.getInputStream() : conn.getErrorStream();
             if (is != null || unmarshalNullStream)
@@ -344,6 +346,7 @@
             metadata.put(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, conn.getResponseMessage());
             responseCode = conn.getResponseCode();
             metadata.put(HTTPMetadataConstants.RESPONSE_CODE, new Integer(responseCode));
+            metadata.put(HTTPMetadataConstants.RESPONSE_HEADERS, conn.getHeaderFields());
          }
       }
       catch (Exception e)
@@ -526,9 +529,19 @@
          unmarshaller = new CompressingUnMarshaller(MarshalFactory.getUnMarshaller(SerializableUnMarshaller.DATATYPE));
       }
 
+      Map map = metadata == null ? headers : metadata;
+      
+      // UnMarshaller may not be an HTTPUnMarshaller, in which case it
+      // can ignore this parameter.
+      if (map.get(HTTPUnMarshaller.PRESERVE_LINES) == null)
+      {
+         Object o = configuration.get(HTTPUnMarshaller.PRESERVE_LINES);
+         if (o != null)
+            map.put(HTTPUnMarshaller.PRESERVE_LINES, o);
+      }
+      
       try
       {
-         Map map = metadata == null ? headers : metadata;
          if (unmarshaller instanceof VersionedUnMarshaller)
             result = ((VersionedUnMarshaller)unmarshaller).read(is, map, Version.getDefaultVersion());
          else




More information about the jboss-remoting-commits mailing list