Author: ron.sigal(a)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
Show replies by date