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

Commit 707c53c

Browse files
author
Peter Nied
committed
Merge pull request #25 from peternied/PATCH
Workaround for Http PATCH issue on older Android devices
2 parents c20d10a + 1f88b93 commit 707c53c

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.io.InputStream;
2929
import java.io.OutputStream;
3030
import java.net.HttpURLConnection;
31+
import java.net.ProtocolException;
3132
import java.util.HashMap;
3233
import java.util.Map;
3334

@@ -58,7 +59,14 @@ public UrlConnection(final IHttpRequest request) throws IOException {
5859
mConnection.addRequestProperty(header.getName(), header.getValue());
5960
}
6061

61-
mConnection.setRequestMethod(request.getHttpMethod().toString());
62+
try {
63+
mConnection.setRequestMethod(request.getHttpMethod().toString());
64+
} catch (final ProtocolException ignored ){
65+
// Some HTTP verbs are not supported by older http implementations, use method override as an alternative
66+
mConnection.setRequestMethod(HttpMethod.POST.toString());
67+
mConnection.addRequestProperty("X-HTTP-Method-Override", request.getHttpMethod().toString());
68+
mConnection.addRequestProperty("X-HTTP-Method", request.getHttpMethod().toString());
69+
}
6270
}
6371

6472
@Override

0 commit comments

Comments
 (0)