You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2011/12/12 16:25:18 UTC
svn commit: r1213276 -
/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java
Author: reschke
Date: Mon Dec 12 15:25:17 2011
New Revision: 1213276
URL: http://svn.apache.org/viewvc?rev=1213276&view=rev
Log:
JCR-3175: InputContextImpl: cannot upload file larger than 2GB
Avoid truncating Content-Length to int by bypassing getIntHeader API
Modified:
jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java
Modified: jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java?rev=1213276&r1=1213275&r2=1213276&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/io/InputContextImpl.java Mon Dec 12 15:25:17 2011
@@ -70,8 +70,22 @@ public class InputContextImpl implements
return request.getHeader(DavConstants.HEADER_CONTENT_LANGUAGE);
}
+ /**
+ * @return content length or -1 when unknown
+ */
public long getContentLength() {
- return request.getIntHeader(DavConstants.HEADER_CONTENT_LENGTH);
+ String length = request.getHeader(DavConstants.HEADER_CONTENT_LENGTH);
+ if (length == null) {
+ // header not present
+ return -1;
+ } else {
+ try {
+ return Long.parseLong(length);
+ } catch (NumberFormatException ex) {
+ log.error("broken Content-Length header: " + length);
+ return -1;
+ }
+ }
}
public String getContentType() {