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">