aboutsummaryrefslogtreecommitdiff
path: root/src/java/de/romjaki
diff options
context:
space:
mode:
authormdway <romangraef@gmail.com>2017-06-08 18:46:01 +0200
committermdway <romangraef@gmail.com>2017-06-08 18:46:01 +0200
commita0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6 (patch)
tree9ae5a56bf3a4e1dff2c38ac27648ddf649340edc /src/java/de/romjaki
parent2ca153797939ba5429b02905fb77d85ed38be9af (diff)
downloadicndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.tar.gz
icndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.tar.bz2
icndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.zip
Initial CommitHEADmaster
Diffstat (limited to 'src/java/de/romjaki')
-rw-r--r--src/java/de/romjaki/icndbwrapper/ICNDB.java8
-rw-r--r--src/java/de/romjaki/icndbwrapper/JokeSchematic.java14
-rw-r--r--src/java/de/romjaki/icndbwrapper/RestAction.java8
3 files changed, 26 insertions, 4 deletions
diff --git a/src/java/de/romjaki/icndbwrapper/ICNDB.java b/src/java/de/romjaki/icndbwrapper/ICNDB.java
index 33a669c..8dbc748 100644
--- a/src/java/de/romjaki/icndbwrapper/ICNDB.java
+++ b/src/java/de/romjaki/icndbwrapper/ICNDB.java
@@ -1,12 +1,18 @@
package de.romjaki.icndbwrapper;
+import java.util.HashMap;
+import java.util.Map;
+
public class ICNDB {
public ICNDB() {
}
- public RestAction<Joke> getRandomJoke() {
+ public static final String API_URL = "api.icndb.com/";
+ public RestAction<Joke> getRandomJoke() {
+ Map<String, String> map = new HashMap<>();
+ return new RestAction<>(new JokeSchematic(), "jokes/random", map);
}
}
diff --git a/src/java/de/romjaki/icndbwrapper/JokeSchematic.java b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java
new file mode 100644
index 0000000..d165f72
--- /dev/null
+++ b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java
@@ -0,0 +1,14 @@
+package de.romjaki.icndbwrapper;
+
+/**
+ * Created by RGR on 08.06.2017.
+ */
+public class JokeSchematic extends GsonSchematic<Joke> {
+
+ public Joke value;
+
+ @Override
+ public Joke result() {
+ return value;
+ }
+}
diff --git a/src/java/de/romjaki/icndbwrapper/RestAction.java b/src/java/de/romjaki/icndbwrapper/RestAction.java
index 65150f9..ece8e1b 100644
--- a/src/java/de/romjaki/icndbwrapper/RestAction.java
+++ b/src/java/de/romjaki/icndbwrapper/RestAction.java
@@ -1,12 +1,12 @@
package de.romjaki.icndbwrapper;
import com.google.gson.Gson;
-import sun.misc.IOUtils;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
+import java.util.Scanner;
import java.util.function.Consumer;
@@ -23,11 +23,13 @@ public class RestAction<T> {
}
public static String executeRequest(String url, Map<String, String> parameters, String method) throws IOException {
- HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
+ HttpURLConnection con = (HttpURLConnection) new URL(ICNDB.API_URL + url).openConnection();
con.setRequestMethod(method);
con.setUseCaches(false);
parameters.forEach(con::addRequestProperty);
- return String.valueOf(IOUtils.readFully(con.getInputStream(), -1, true));
+ Scanner s = new Scanner(con.getInputStream());
+ s.useDelimiter("\\A");
+ return s.next();
}
public Thread queue() {