You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by jo...@apache.org on 2006/05/07 22:48:52 UTC

svn commit: r404846 - in /webservices/xmlrpc/trunk: client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java src/changes/changes.xml

Author: jochen
Date: Sun May  7 13:48:51 2006
New Revision: 404846

URL: http://svn.apache.org/viewcvs?rev=404846&view=rev
Log:
HTTP/1.0 (which is the only version supported by the Lite HTTP transport)
requires the presence of a valid content-length header. Consequently,
the Lite HTTP transport will from now on reject the contentLengthOptional
setting.

Modified:
    webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java
    webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java
    webservices/xmlrpc/trunk/src/changes/changes.xml

Modified: webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java?rev=404846&r1=404845&r2=404846&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java (original)
+++ webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcHttpTransport.java Sun May  7 13:48:51 2006
@@ -94,8 +94,8 @@
 		initHttpHeaders(pRequest);
 		return super.sendRequest(pRequest);
 	}
-	
-	protected boolean isUsingByteArrayOutput(XmlRpcHttpClientConfig pConfig) {
+
+	protected boolean isUsingByteArrayOutput(XmlRpcHttpClientConfig pConfig) throws XmlRpcException {
 		return !pConfig.isEnabledForExtensions()
 			|| !pConfig.isContentLengthOptional();
 	}

Modified: webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java?rev=404846&r1=404845&r2=404846&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java (original)
+++ webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcLiteHttpTransport.java Sun May  7 13:48:51 2006
@@ -231,7 +231,15 @@
 		}
 	}
 
-	protected void writeRequest(RequestWriter pWriter) throws XmlRpcException {
+	protected boolean isUsingByteArrayOutput(XmlRpcHttpClientConfig pConfig) throws XmlRpcException {
+	    boolean result = super.isUsingByteArrayOutput(pConfig);
+        if (!result) {
+            throw new XmlRpcException("The Content-Length header is required with HTTP/1.0, and HTTP/1.1 is unsupported by the Lite HTTP Transport.");
+        }
+        return result;
+    }
+
+    protected void writeRequest(RequestWriter pWriter) throws XmlRpcException {
 		OutputStream ostream = getOutputStream();
 		pWriter.write(ostream);
 	}

Modified: webservices/xmlrpc/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/trunk/src/changes/changes.xml?rev=404846&r1=404845&r2=404846&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/src/changes/changes.xml (original)
+++ webservices/xmlrpc/trunk/src/changes/changes.xml Sun May  7 13:48:51 2006
@@ -37,6 +37,11 @@
         The Base64 encoder doesn't accept buffers of length 0. Such a buffer
         was passed, if the byte array to encode has itself length 0.
       </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-79">
+        HTTP/1.0 requires a content-length header. The Lite HTTP transport
+        doesn't support HTTP/1.1, so it refuses the "contentLengthOptional"
+        setting from now on.
+      </action>
     </release>
     <release version="3.0a1" date="17-Feb-2005">
       <action dev="jochen" type="enhancement">