Skip to content
This repository was archived by the owner on Oct 2, 2024. It is now read-only.

Commit 67a92a3

Browse files
committed
Merge pull request #80 from daboxu/dabxu/set_content_length
change to fix mode for uploading
2 parents 685a4c7 + c3168ae commit 67a92a3

File tree

5 files changed

+16
-6
lines changed

5 files changed

+16
-6
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ mavenRepoUrl = https://api.bintray.com/maven/onedrive/Maven/onedrive-sdk
2222
mavenGroupId = com.onedrive.sdk
2323
mavenArtifactId = onedrive-sdk-android
2424
mavenMajorVersion = 1
25-
mavenMinorVersion = 1
26-
mavenPatchVersion = 5
25+
mavenMinorVersion = 2
26+
mavenPatchVersion = 0
2727
nightliesUrl = http://dl.bintray.com/onedrive/Maven

onedrivesdk/src/androidTest/java/com/onedrive/sdk/http/DefaultHttpProviderTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,11 @@ public Map<String, String> getHeaders() {
437437
public String getRequestMethod() {
438438
return null;
439439
}
440+
441+
@Override
442+
public void setContentLength(int length) {
443+
444+
}
440445
}
441446

442447
/**

onedrivesdk/src/main/java/com/onedrive/sdk/http/DefaultHttpProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,13 +212,13 @@ private <Result, Body> Result sendRequestInternal(final IHttpRequest request,
212212
mLogger.logDebug("Sending byte[] as request body");
213213
bytesToWrite = (byte[]) serializable;
214214
connection.addRequestHeader(ContentTypeHeaderName, binaryContentType);
215-
connection.addRequestHeader(contentLengthHeaderName, "" + bytesToWrite.length);
215+
connection.setContentLength(bytesToWrite.length);
216216
} else {
217217
mLogger.logDebug("Sending " + serializable.getClass().getName() + " as request body");
218218
final String serializeObject = mSerializer.serializeObject(serializable);
219219
bytesToWrite = serializeObject.getBytes();
220220
connection.addRequestHeader(ContentTypeHeaderName, JsonContentType);
221-
connection.addRequestHeader(contentLengthHeaderName, "" + bytesToWrite.length);
221+
connection.setContentLength(bytesToWrite.length);
222222
}
223223

224224
// Handle cases where we've got a body to process.

onedrivesdk/src/main/java/com/onedrive/sdk/http/IConnection.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,6 @@ public interface IConnection {
8989
* @return The request method.
9090
*/
9191
String getRequestMethod();
92+
93+
void setContentLength(int length);
9294
}

onedrivesdk/src/main/java/com/onedrive/sdk/http/UrlConnection.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,7 @@ public void addRequestHeader(final String headerName, final String headerValue)
8181

8282
@Override
8383
public OutputStream getOutputStream() throws IOException {
84-
final int defaultBufferSize = 4096;
8584
mConnection.setDoOutput(true);
86-
mConnection.setChunkedStreamingMode(defaultBufferSize);
8785
return mConnection.getOutputStream();
8886
}
8987

@@ -125,6 +123,11 @@ public String getRequestMethod() {
125123
return mConnection.getRequestMethod();
126124
}
127125

126+
@Override
127+
public void setContentLength(int length) {
128+
mConnection.setFixedLengthStreamingMode(length);
129+
}
130+
128131
/**
129132
* Gets the response headers from a http url connection.
130133
* @param connection The http connection.

0 commit comments

Comments
 (0)