Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b722ee3 authored by David Luhmer's avatar David Luhmer Committed by David Luhmer
Browse files

Fix unhandled exception when http code was below 400 (e.g. 302)

parent 5b186351
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import java.lang.reflect.Type;

import okhttp3.MediaType;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.ResponseBody;
import okio.BufferedSource;
@@ -16,6 +17,7 @@ import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;


/**
 *  Nextcloud SingleSignOn
 *
@@ -53,7 +55,16 @@ public final class Retrofit2Helper {
                    T body = nextcloudAPI.performRequestV2(resType, nextcloudRequest);
                    return Response.success(body);
                } catch (NextcloudHttpRequestFailedException e) {
                    return Response.error(e.getStatusCode(), ResponseBody.create(null, e.getCause().getMessage()));
                    ResponseBody body = ResponseBody.create(null, e.getCause().getMessage());
                    return Response.error(
                            body,
                            new okhttp3.Response.Builder()
                                    .body(body)
                                    .code(e.getStatusCode())
                                    .message(e.getCause().getMessage())
                                    .protocol(Protocol.HTTP_1_1)
                                    .request(new Request.Builder().url("http://localhost/" + nextcloudRequest.getUrl()).build())
                                    .build());
                } catch (Exception e) {
                    return Response.error(520, ResponseBody.create(null, e.toString()));
                }