diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys index 3ae584624..79c2d6c5a 100644 --- a/gradle/verification-keyring.keys +++ b/gradle/verification-keyring.keys @@ -1084,6 +1084,82 @@ dYg0U9EhpY/7GHDpHQD+J5Uy2s3USLxeyIylXUFWtxqOocB+vZhvH3Yhmjhwmgw= =zAHg -----END PGP PUBLIC KEY BLOCK----- +pub BF1518E0160788A2 +uid Karl Heinz Marbaise (ASF Key) + +sub C163B490C5CDC967 +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=xw/A +-----END PGP PUBLIC KEY BLOCK----- + pub BF984B4145EA13F7 uid Egor Andreevici @@ -2596,6 +2672,50 @@ Mo0e2F+Q/EVJz2GZ8yMyA/hAg9CXhbsgTGSN8vGaIOcNQntcJ8w= =TLTQ -----END PGP PUBLIC KEY BLOCK----- +pub 0C0A9468268C79AE +uid JetBrains Markdown + +sub FA258103C03E2F42 +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=KXLD +-----END PGP PUBLIC KEY BLOCK----- + pub 0DA8A5EC02D11EAD uid Paul Holser @@ -2770,6 +2890,31 @@ zzMvjuz0NEEhREM8f0ld3G/7Meh/OudSEgtQAmwJ0UMZWJWaZ0FhnLI= =5I6i -----END PGP PUBLIC KEY BLOCK----- +pub 1939A2520BAB1D90 +sub D068F0D7B6A63980 +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xsBNBFHNxM8BCADYmt+HKkEwu89KQbwV7XIbgwZSfWc7y1HvA2YJpJRXJQsU/Pzv +BhsHnm9ZIScBLIlgE5OUnMNz8ktPDdsFg3j/L0HREXOAqkOFxWx2kANsRo2HmkM3 +67RAu42fJqJcjD2Rs37wMxlSRRGQ+/bp+Bw2HNO1pw7GwrSgmZwzwT4+1pE/TvXQ +Wl+Nhdf3swLyBaSuWHJZT3+JOR0kEGSQuurR+57r6fKDmouWSwAKn1z97JelHuXj +HKZeueCkQvX7dayPP4a1zpoXPcoZhYekFarLWJl411EA3aHIIV8whknsZx/lGGC5 +yF9AVIzHHnhqFC/Fr+GJbwa9oMFXj0pY06ZNABEBAAHOwE0EUc3EzwEIAK6rZ7kR +p3uj0CrhvuTnLHU7nEs+KvoUZKLyhcIys76sJQ7cnhEygcG7tng/EtK8bI6skLwU +aF4fnPliDj/yIigY08p7TvFL/6HL4cLrIXR9uZe5IdvBKYhy23Ie2JXdLk6zH6jq +5+vBE0IA7ljJUQj0PgiIL92kB73Bn6dPayvtApzctajXvGajYNfOLTYc3n1L/Kqa +y+/UwjB5MJVlmFtZ1a/EAxyb5yHld/s3RKEaeEIpjaoPSJwXKOWNAcLdtgcPcsyf +rV4bkgjx7ABzPvf82gYucthyIx4zPZ29hZfktSV61h7cbJL5HGrk39UcSgfstHbf +BQiTY/1kVN9tuHkAEQEAAcLAdgQYAQIACQUCUc3EzwIbDAAhCRAZOaJSC6sdkBYh +BBOsIhOWSr4dHBR8Dhk5olILqx2QQWMIAMTNwm1NvKQd5I8bKQS1ScCkdgzyhmLE +dYW8N2OQaF48xO8FEmkHJL+F1LgydvYB8GhXr3p4IUC2b4PqK44DU5iBzUKcaGKX +FFWnOOBsPRLpsbS3KIrPV2TQcqQaHfrC6ZJPVtTap0D9Q3QKhEgD0Kxv6aD6Hxz7 +LdCLGNulNJLiyGFenN+PxCxmY+ffxLVqZpJMS/zOoXykCs9T3fXzhNB8kE+uMBKF +MSK0CZfcVCVIvm/mxmaztPlL+Q4eRwebjM2XBdEn1q+pvySratwMlfiwJ7s+Ogxf +fLaZOTZh7NjguthuER44Zww2Dtc5eWG0EEng66pC1ejrktxPt0rVTJs= +=T3BM +-----END PGP PUBLIC KEY BLOCK----- + pub 1A2A1C94BDE89688 uid Michael Osipov diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f3bce20ae..94c6190e9 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -57,11 +57,15 @@ + - + + + + @@ -197,6 +201,7 @@ + @@ -302,6 +307,7 @@ + @@ -338,7 +344,10 @@ - + + + + @@ -11326,6 +11335,11 @@ + + + + + diff --git a/lib/src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java b/lib/src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java index 0e68a214d..90b350dd0 100644 --- a/lib/src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java +++ b/lib/src/main/java/com/nextcloud/android/sso/helper/Retrofit2Helper.java @@ -24,6 +24,7 @@ import java.util.Set; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import okhttp3.Headers; import okhttp3.Protocol; import okhttp3.Request; @@ -38,6 +39,11 @@ public final class Retrofit2Helper { private Retrofit2Helper() { } + @Nullable + public static Throwable getException(@NonNull Response response) { + return response.raw().request().tag(Throwable.class); + } + public static Call WrapInCall(final NextcloudAPI nextcloudAPI, final NextcloudRequest nextcloudRequest, final Type resType) { @@ -115,7 +121,10 @@ private Response convertExceptionToResponse(int statusCode, @NonNull Throwabl .code(statusCode) .message(throwable.getMessage() + Arrays.toString(throwable.getStackTrace())) .protocol(Protocol.HTTP_1_1) - .request(new Request.Builder().url("http://example.com" + (path.startsWith("/") ? path : "/" + path)).build()) + .request(new Request.Builder() + .url("http://example.com" + (path.startsWith("/") ? path : "/" + path)) + .tag(Throwable.class, throwable) + .build()) .build()); } };