Loading src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java +18 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ package com.nextcloud.android.sso.aidl; import androidx.core.util.ObjectsCompat; import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import java.util.HashMap; import java.util.List; Loading @@ -41,6 +43,7 @@ public class NextcloudRequest implements Serializable { private String token; private String packageName; private String accountName; private InputStream bodyAsStream = null; private boolean followRedirects; private NextcloudRequest() { } Loading @@ -55,6 +58,8 @@ public class NextcloudRequest implements Serializable { this.followRedirects = ncr.followRedirects; header = new HashMap<>(ncr.header); parameter = new HashMap<>(ncr.parameter); bodyAsStream = ncr.bodyAsStream; } public static class Builder implements Serializable { Loading Loading @@ -94,6 +99,10 @@ public class NextcloudRequest implements Serializable { ncr.requestBody = requestBody; return this; } public Builder setRequestBodyAsStream(InputStream requestBody) { ncr.bodyAsStream = requestBody; return this; } public Builder setUrl(String url) { ncr.url = url; Loading @@ -110,6 +119,8 @@ public class NextcloudRequest implements Serializable { return this; } /** * Default value: true * @param followRedirects Loading Loading @@ -169,6 +180,13 @@ public class NextcloudRequest implements Serializable { return this.followRedirects; } public InputStream getBodyAsStream() { return bodyAsStream; } public void setBodyAsStream(InputStream bodyAsStream) { this.bodyAsStream = bodyAsStream; } @Override public boolean equals(Object obj) { Loading src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +1 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class NextcloudAPI { * @throws Exception or SSOException */ public InputStream performNetworkRequest(NextcloudRequest request) throws Exception { return networkRequest.performNetworkRequest(request, null); return networkRequest.performNetworkRequest(request, request.getBodyAsStream()); } public Response performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Loading src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +6 −4 Original line number Diff line number Diff line Loading @@ -11,8 +11,10 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.reflect.Method; Loading Loading @@ -165,7 +167,7 @@ public class NextcloudRetrofitServiceMethod<T> { } } if (isMultipart) { rBuilder.setRequestBody(bodyToString(multipartBuilder.build())); rBuilder.setRequestBodyAsStream(bodyToStream(multipartBuilder.build())); } NextcloudRequest request = rBuilder Loading Loading @@ -199,15 +201,15 @@ public class NextcloudRetrofitServiceMethod<T> { return nextcloudAPI.performRequest(this.returnType, request); } private static String bodyToString(final RequestBody request){ private static InputStream bodyToStream(final RequestBody request){ try { final RequestBody copy = request; final Buffer buffer = new Buffer(); copy.writeTo(buffer); return buffer.readUtf8(); return buffer.inputStream(); } catch (final IOException e) { return "did not work"; throw new RuntimeException("failed to build request-body"); } } Loading Loading
src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java +18 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ package com.nextcloud.android.sso.aidl; import androidx.core.util.ObjectsCompat; import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import java.util.HashMap; import java.util.List; Loading @@ -41,6 +43,7 @@ public class NextcloudRequest implements Serializable { private String token; private String packageName; private String accountName; private InputStream bodyAsStream = null; private boolean followRedirects; private NextcloudRequest() { } Loading @@ -55,6 +58,8 @@ public class NextcloudRequest implements Serializable { this.followRedirects = ncr.followRedirects; header = new HashMap<>(ncr.header); parameter = new HashMap<>(ncr.parameter); bodyAsStream = ncr.bodyAsStream; } public static class Builder implements Serializable { Loading Loading @@ -94,6 +99,10 @@ public class NextcloudRequest implements Serializable { ncr.requestBody = requestBody; return this; } public Builder setRequestBodyAsStream(InputStream requestBody) { ncr.bodyAsStream = requestBody; return this; } public Builder setUrl(String url) { ncr.url = url; Loading @@ -110,6 +119,8 @@ public class NextcloudRequest implements Serializable { return this; } /** * Default value: true * @param followRedirects Loading Loading @@ -169,6 +180,13 @@ public class NextcloudRequest implements Serializable { return this.followRedirects; } public InputStream getBodyAsStream() { return bodyAsStream; } public void setBodyAsStream(InputStream bodyAsStream) { this.bodyAsStream = bodyAsStream; } @Override public boolean equals(Object obj) { Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudAPI.java +1 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class NextcloudAPI { * @throws Exception or SSOException */ public InputStream performNetworkRequest(NextcloudRequest request) throws Exception { return networkRequest.performNetworkRequest(request, null); return networkRequest.performNetworkRequest(request, request.getBodyAsStream()); } public Response performRequestV2(final @NonNull Type type, NextcloudRequest request) throws Exception { Loading
src/main/java/com/nextcloud/android/sso/api/NextcloudRetrofitServiceMethod.java +6 −4 Original line number Diff line number Diff line Loading @@ -11,8 +11,10 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.reflect.Method; Loading Loading @@ -165,7 +167,7 @@ public class NextcloudRetrofitServiceMethod<T> { } } if (isMultipart) { rBuilder.setRequestBody(bodyToString(multipartBuilder.build())); rBuilder.setRequestBodyAsStream(bodyToStream(multipartBuilder.build())); } NextcloudRequest request = rBuilder Loading Loading @@ -199,15 +201,15 @@ public class NextcloudRetrofitServiceMethod<T> { return nextcloudAPI.performRequest(this.returnType, request); } private static String bodyToString(final RequestBody request){ private static InputStream bodyToStream(final RequestBody request){ try { final RequestBody copy = request; final Buffer buffer = new Buffer(); copy.writeTo(buffer); return buffer.readUtf8(); return buffer.inputStream(); } catch (final IOException e) { return "did not work"; throw new RuntimeException("failed to build request-body"); } } Loading