Skip to content

Commit 71621ae

Browse files
committed
Added hastebin support
1 parent d925ba4 commit 71621ae

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.jaimemartz.playerbalancer.utils;
2+
3+
import com.google.gson.JsonObject;
4+
import com.google.gson.JsonParser;
5+
6+
import javax.net.ssl.HttpsURLConnection;
7+
import java.io.BufferedReader;
8+
import java.io.DataOutputStream;
9+
import java.io.InputStreamReader;
10+
import java.net.URL;
11+
12+
public class HastebinPaste {
13+
private final String site;
14+
private final String code;
15+
16+
public HastebinPaste(String site, String code) {
17+
this.site = site.endsWith("/") ? site : site + "/";
18+
this.code = code;
19+
}
20+
21+
public URL paste() throws Exception {
22+
URL url = new URL(site + "documents");
23+
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
24+
25+
con.setRequestMethod("POST");
26+
con.setRequestProperty("User-Agent", "Mozilla/5.0");
27+
28+
con.setDoOutput(true);
29+
try (DataOutputStream dos = new DataOutputStream(con.getOutputStream())) {
30+
dos.writeBytes(code);
31+
dos.flush();
32+
}
33+
34+
int status = con.getResponseCode();
35+
if (status >= 200 && status < 300) {
36+
try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()))) {
37+
JsonObject root = new JsonParser().parse(br.readLine()).getAsJsonObject();
38+
return new URL(site + root.getAsJsonPrimitive("key").getAsString());
39+
}
40+
} else {
41+
throw new Exception("Unexpected response code " + status);
42+
}
43+
}
44+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import com.jaimemartz.playerbalancer.utils.HastebinPaste;
2+
import org.junit.Test;
3+
4+
public class HastebinPasteTest {
5+
@Test
6+
public void test() throws Exception {
7+
HastebinPaste paste = new HastebinPaste("https://file.properties/paste/",
8+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed iaculis, sapien et vehicula tristique, diam libero bibendum nunc, et rutrum nisl nulla quis diam. Cras ipsum enim, molestie eget bibendum nec, porta quis ex. Nunc ac sem lorem. Duis eget vestibulum libero. Phasellus vitae venenatis arcu, ac volutpat sem. Nunc porttitor lacus nulla, vitae dictum justo porta at. Aliquam erat volutpat. Vestibulum aliquet eget diam eget commodo. Integer facilisis ipsum sit amet sem pharetra ultrices. Nulla diam orci, posuere malesuada ante non, elementum vehicula libero."
9+
);
10+
11+
System.out.println(paste.paste());
12+
}
13+
}

0 commit comments

Comments
 (0)