Added httpError function
Renamed apiCall to getRawJoke Added HTTP Error Exception class Added models and exceptions
This commit is contained in:
parent
5ac9e751c3
commit
c27321d31a
13 changed files with 288 additions and 108 deletions
68
README.md
68
README.md
|
@ -26,3 +26,71 @@ data class Joke(
|
|||
val language: Language
|
||||
)
|
||||
```
|
||||
|
||||
If an error occurs, a `JokeException` is thrown:
|
||||
|
||||
```kotlin
|
||||
class JokeException(
|
||||
val error: Boolean,
|
||||
val internalError: Boolean,
|
||||
val code: Int,
|
||||
message: String,
|
||||
val causedBy: List<String>,
|
||||
val additionalInfo: String,
|
||||
val timestamp: Long,
|
||||
cause: Throwable? = null
|
||||
) : Exception(message, cause)
|
||||
```
|
||||
|
||||
If an HTTP error occurs an `HttpErrorException` is thrown, with its message and cause matching the [JokeAPI status codes](https://sv443.net/jokeapi/v2/#status-codes):
|
||||
|
||||
```kotlin
|
||||
class HttpErrorException(
|
||||
val statusCode: Int,
|
||||
message: String,
|
||||
cause: Throwable? = null
|
||||
) : IOException(message, cause)
|
||||
```
|
||||
|
||||
## Gradle, Maven, etc.
|
||||
To use with [Gradle](https://gradle.org/), include the following dependency in your build file:
|
||||
|
||||
```gradle
|
||||
dependencies {
|
||||
implementation("net.thauvin.erik:jokeapi:0.9-SNAPSHOT")
|
||||
}
|
||||
```
|
||||
|
||||
Instructions for using with Maven, Ivy, etc. can be found on Maven Central.
|
||||
|
||||
## Raw Joke
|
||||
|
||||
You can also retrieve a raw joke in all [supported formats](https://jokeapi.dev/#format-param).
|
||||
|
||||
For example for YAML:
|
||||
```kotlin
|
||||
var joke = getRawJoke(format = Format.YAML, idRange = IdRange(22))
|
||||
println(joke)
|
||||
```
|
||||
```yaml
|
||||
error: false
|
||||
category: "Programming"
|
||||
type: "single"
|
||||
joke: "If Bill Gates had a dime for every time Windows crashed ... Oh wait, he does."
|
||||
flags:
|
||||
nsfw: false
|
||||
religious: false
|
||||
political: false
|
||||
racist: false
|
||||
sexist: false
|
||||
explicit: false
|
||||
id: 22
|
||||
safe: true
|
||||
lang: "en"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue