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

Commit 3b668941 authored by David Luhmer's avatar David Luhmer
Browse files

improve error handling (pass on response body to client)

parent 65b17bea
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -178,7 +178,6 @@ public class NextcloudAPI {
                    s.onNext((T) performRequest(type, request));
                    s.onComplete();
                } catch (Exception e) {
                    e.printStackTrace();
                    s.onError(e);
                }
            }
+8 −1
Original line number Diff line number Diff line
@@ -27,9 +27,11 @@ import com.nextcloud.android.sso.model.ExceptionMessage;
public class NextcloudHttpRequestFailedException extends SSOException {

    private int statusCode;
    private Throwable cause;

    public NextcloudHttpRequestFailedException(int statusCode) {
    public NextcloudHttpRequestFailedException(int statusCode, Throwable cause) {
        this.statusCode = statusCode;
        this.cause = cause;
    }

    @Override
@@ -43,4 +45,9 @@ public class NextcloudHttpRequestFailedException extends SSOException {
    public int getStatusCode() {
        return statusCode;
    }

    @Override
    public synchronized Throwable getCause() {
        return cause;
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -97,7 +97,8 @@ public class SSOException extends Exception {
                return new NextcloudInvalidRequestUrlException(exception.getCause().getMessage());
            case Constants.EXCEPTION_HTTP_REQUEST_FAILED:
                int statusCode = Integer.parseInt(exception.getCause().getMessage());
                return new NextcloudHttpRequestFailedException(statusCode);
                Throwable cause = exception.getCause().getCause();
                return new NextcloudHttpRequestFailedException(statusCode, cause);
            case Constants.EXCEPTION_ACCOUNT_ACCESS_DECLINED:
                return new NextcloudFilesAppAccountPermissionNotGrantedException();
            default: