diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index cc397af..7b7a4b9 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -13,8 +13,8 @@ jobs:
strategy:
matrix:
- java-version: [17, 21, 23]
- kotlin-version: [1.9.24, 2.1.0]
+ java-version: [17, 21, 22]
+ kotlin-version: [1.9.24, 2.0.20]
steps:
- name: Checkout source repository
diff --git a/README.md b/README.md
index a45b49c..e618d1e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
[](https://opensource.org/licenses/BSD-3-Clause)
-[](https://kotlinlang.org/)
+[](https://kotlinlang.org/)
[](https://rife2.com/bld)
[](https://github.com/ethauvin/jokeapi/releases/latest)
[](https://central.sonatype.com/artifact/net.thauvin.erik/jokeapi)
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index 04271d1..ee5e7de 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -2,9 +2,9 @@ bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.7
-bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.2
+bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.1
bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8
-bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.3
+bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
bld.version=2.1.0
diff --git a/pom.xml b/pom.xml
index 0d3d213..1fd22ca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
org.jetbrains.kotlin
kotlin-stdlib
- 2.1.0
+ 2.0.0
compile
@@ -30,7 +30,7 @@
net.thauvin.erik.urlencoder
urlencoder-lib-jvm
- 1.6.0
+ 1.5.0
compile
diff --git a/src/bld/java/net/thauvin/erik/JokeApiBuild.java b/src/bld/java/net/thauvin/erik/JokeApiBuild.java
index ec95df3..c6d24ba 100644
--- a/src/bld/java/net/thauvin/erik/JokeApiBuild.java
+++ b/src/bld/java/net/thauvin/erik/JokeApiBuild.java
@@ -1,7 +1,7 @@
/*
* JokeApiBuild.java
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -67,15 +67,15 @@ public class JokeApiBuild extends Project {
autoDownloadPurge = true;
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
- final var kotlin = version(2, 1, 0);
+ final var kotlin = version(2, 0, 20);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
.include(dependency("org.json", "json", "20240303"))
- .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", version(1, 6, 0)));
+ .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", version(1, 5, 0)));
scope(test)
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
- .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4)))
- .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4)))
+ .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
+ .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)))
.include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1)));
publishOperation()
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt
index 8222435..f1bc14a 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt
@@ -1,7 +1,7 @@
/*
* JokeApi.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt
index d8e6ad5..a03b2dd 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt
@@ -1,7 +1,7 @@
/*
* JokeConfig.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeUtil.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeUtil.kt
index 3ef3acc..be2d1d2 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeUtil.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeUtil.kt
@@ -1,7 +1,7 @@
/*
* JokeUtil.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -51,25 +51,21 @@ internal fun fetchUrl(url: String, auth: String = ""): String {
}
val connection = URL(url).openConnection() as HttpURLConnection
- try {
- connection.setRequestProperty(
- "User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0"
- )
- if (auth.isNotEmpty()) {
- connection.setRequestProperty("Authentication", auth)
- }
+ connection.setRequestProperty(
+ "User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0"
+ )
+ if (auth.isNotEmpty()) {
+ connection.setRequestProperty("Authentication", auth)
+ }
- if (connection.responseCode in 200..399) {
- val body = connection.inputStream.bufferedReader().use { it.readText() }
- if (JokeApi.logger.isLoggable(Level.FINE)) {
- JokeApi.logger.fine(body)
- }
- return body
- } else {
- throw httpError(connection.responseCode)
+ if (connection.responseCode in 200..399) {
+ val body = connection.inputStream.bufferedReader().use { it.readText() }
+ if (JokeApi.logger.isLoggable(Level.FINE)) {
+ JokeApi.logger.fine(body)
}
- } finally {
- connection.disconnect()
+ return body
+ } else {
+ throw httpError(connection.responseCode)
}
}
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/HttpErrorException.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/HttpErrorException.kt
index 947fe04..815afcc 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/HttpErrorException.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/HttpErrorException.kt
@@ -1,7 +1,7 @@
/*
* HttpErrorException.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/JokeException.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/JokeException.kt
index 3854116..16d4ec8 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/JokeException.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/exceptions/JokeException.kt
@@ -1,7 +1,7 @@
/*
* JokeException.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt
index 55021ad..4951d4a 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt
@@ -1,7 +1,7 @@
/*
* Category.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt
index 2f3b9d4..af92e90 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt
@@ -1,7 +1,7 @@
/*
* Flag.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt
index 7a0e74a..2678a21 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt
@@ -1,7 +1,7 @@
/*
* Format.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/IdRange.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/IdRange.kt
index a92fdf1..62a6eb6 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/IdRange.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/IdRange.kt
@@ -1,7 +1,7 @@
/*
* IdRange.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Joke.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Joke.kt
index 413e133..0309977 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Joke.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Joke.kt
@@ -1,7 +1,7 @@
/*
* Joke.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt
index ddcb462..10c00fb 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt
@@ -1,7 +1,7 @@
/*
* Language.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Parameter.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Parameter.kt
index 20bdea3..b9e1106 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Parameter.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Parameter.kt
@@ -1,7 +1,7 @@
/*
* Parameter.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Type.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Type.kt
index e19ee73..59126b4 100644
--- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Type.kt
+++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Type.kt
@@ -1,7 +1,7 @@
/*
* Type.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/ApiCallTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/ApiCallTest.kt
index 066f4ca..d9f9b30 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/ApiCallTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/ApiCallTest.kt
@@ -1,7 +1,7 @@
/*
* ApiCallTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/BeforeAllTests.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/BeforeAllTests.kt
index b9d59f5..de9d48a 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/BeforeAllTests.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/BeforeAllTests.kt
@@ -1,7 +1,7 @@
/*
* BeforeAllTests.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/ExceptionsTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/ExceptionsTest.kt
index 4570a81..3932afd 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/ExceptionsTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/ExceptionsTest.kt
@@ -1,7 +1,7 @@
/*
* ExceptionsTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokeTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokeTest.kt
index 5c86c08..c08ce39 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokeTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokeTest.kt
@@ -1,7 +1,7 @@
/*
* GetJokeTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokesTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokesTest.kt
index dffb187..2e07a2d 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokesTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/GetJokesTest.kt
@@ -1,7 +1,7 @@
/*
* GetJokesTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt
index cfc7bbe..7bcf1c6 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt
@@ -1,7 +1,7 @@
/*
* GetRawJokesTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt
index eb01e33..8349c4c 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt
@@ -1,7 +1,7 @@
/*
* JokeConfigTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeUtilTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeUtilTest.kt
index 56839e8..4b390c8 100644
--- a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeUtilTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeUtilTest.kt
@@ -1,7 +1,7 @@
/*
* JokeUtilTest.kt
*
- * Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: