Skip to content

Commit 8d71339

Browse files
committed
fixes
1 parent dce2d11 commit 8d71339

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/main/java/com/box/sdk/BinaryBodyUtils.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.box.sdk;
22

3+
import com.box.sdk.http.HttpHeaders;
34
import java.io.IOException;
45
import java.io.InputStream;
56
import java.io.OutputStream;
@@ -91,14 +92,20 @@ static void writeStreamWithContentLength(BoxAPIResponse response, OutputStream o
9192
*/
9293
private static long getContentLengthFromAPIResponse(BoxAPIResponse response) {
9394
long length = response.getContentLength();
94-
try {
95-
if (length == -1 && response.getHeaders().containsKey(X_ORIGINAL_CONTENT_LENGTH)) {
96-
length = Integer.parseInt(response.getHeaders().get(X_ORIGINAL_CONTENT_LENGTH).get(0));
95+
if (length == -1) {
96+
try {
97+
if (response.getHeaders().containsKey(HttpHeaders.CONTENT_LENGTH)) {
98+
length = Integer.parseInt(response.getHeaders().get(HttpHeaders.CONTENT_LENGTH).get(0));
99+
} else if (response.getHeaders().containsKey(X_ORIGINAL_CONTENT_LENGTH)) {
100+
length = Integer.parseInt(response.getHeaders().get(X_ORIGINAL_CONTENT_LENGTH).get(0));
101+
}
102+
} catch (NumberFormatException e) {
103+
String headerValue = response.getHeaders().containsKey(HttpHeaders.CONTENT_LENGTH)
104+
? response.getHeaders().get(HttpHeaders.CONTENT_LENGTH).get(0)
105+
: response.getHeaders().get(X_ORIGINAL_CONTENT_LENGTH).get(0);
106+
throw new RuntimeException(
107+
"Invalid content length: " + headerValue);
97108
}
98-
} catch (NumberFormatException e) {
99-
throw new RuntimeException(
100-
"Invalid content length: " + response.getHeaders().get("X-Original-Content-Length"
101-
).get(0));
102109
}
103110

104111
return length;

0 commit comments

Comments
 (0)