You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[`TerminalRetryableException`](terminal-java-core/src/main/kotlin/shop/terminal/api/errors/TerminalRetryableException.kt): Generic error indicating a failure that could be retried by the client.
225
+
217
226
-[`TerminalInvalidDataException`](terminal-java-core/src/main/kotlin/shop/terminal/api/errors/TerminalInvalidDataException.kt): Failure to interpret successfully parsed data. For example, when accessing a property that's supposed to be required, but the API unexpectedly omitted it from the response.
218
227
219
228
-[`TerminalException`](terminal-java-core/src/main/kotlin/shop/terminal/api/errors/TerminalException.kt): Base class for all exceptions. Most errors will result in one of the previously mentioned ones, but completely generic errors may be thrown using the base class.
@@ -234,6 +243,12 @@ Or to `debug` for more verbose logging:
234
243
$ export TERMINAL_LOG=debug
235
244
```
236
245
246
+
## ProGuard and R8
247
+
248
+
Although the SDK uses reflection, it is still usable with [ProGuard](https://github.com/Guardsquare/proguard) and [R8](https://developer.android.com/topic/performance/app-optimization/enable-app-optimization) because `terminal-java-core` is published with a [configuration file](terminal-java-core/src/main/resources/META-INF/proguard/terminal-java-core.pro) containing [keep rules](https://www.guardsquare.com/manual/configuration/usage).
249
+
250
+
ProGuard and R8 should automatically detect and use the published rules, but you can also manually copy the keep rules if necessary.
251
+
237
252
## Jackson
238
253
239
254
The SDK depends on [Jackson](https://github.com/FasterXML/jackson) for JSON serialization/deserialization. It is compatible with version 2.13.4 or higher, but depends on version 2.18.2 by default.
@@ -249,7 +264,7 @@ If the SDK threw an exception, but you're _certain_ the version is compatible, t
249
264
250
265
### Retries
251
266
252
-
The SDK automatically retries 2 times by default, with a short exponential backoff.
267
+
The SDK automatically retries 2 times by default, with a short exponential backoff between requests.
253
268
254
269
Only the following error types are retried:
255
270
@@ -259,7 +274,7 @@ Only the following error types are retried:
259
274
- 429 Rate Limit
260
275
- 5xx Internal
261
276
262
-
The API may also explicitly instruct the SDK to retry or not retry a response.
277
+
The API may also explicitly instruct the SDK to retry or not retry a request.
263
278
264
279
To set a custom number of retries, configure the client using the `maxRetries` method:
0 commit comments