All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 1m42s
42 lines
1.5 KiB
Java
42 lines
1.5 KiB
Java
package cc.fascinated.bat.common;
|
|
|
|
import cc.fascinated.bat.BatApplication;
|
|
import cc.fascinated.bat.common.model.token.paste.PasteUploadToken;
|
|
import lombok.SneakyThrows;
|
|
import lombok.experimental.UtilityClass;
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
|
import java.net.URI;
|
|
import java.net.http.HttpClient;
|
|
import java.net.http.HttpRequest;
|
|
import java.net.http.HttpResponse;
|
|
|
|
/**
|
|
* @author Fascinated (fascinated7)
|
|
*/
|
|
@UtilityClass
|
|
@Log4j2(topic = "PasteUtils")
|
|
public class PasteUtils {
|
|
private static final String PASTE_URL = "https://paste.fascinated.cc/";
|
|
private static final String PASTE_UPLOAD_URL = PASTE_URL + "api/upload?expires=" + 60 * 60 * 24 * 30; // 30 days
|
|
private static final HttpClient httpClient = HttpClient.newHttpClient();
|
|
|
|
/**
|
|
* Uploads a paste to the paste server
|
|
*
|
|
* @param content the content of the paste
|
|
* @return the paste upload token
|
|
*/
|
|
@SneakyThrows
|
|
public static PasteUploadToken uploadPaste(String content) {
|
|
HttpResponse<String> response = httpClient.send(HttpRequest.newBuilder()
|
|
.uri(URI.create(PASTE_UPLOAD_URL))
|
|
.POST(HttpRequest.BodyPublishers.ofString(content))
|
|
.build(), HttpResponse.BodyHandlers.ofString());
|
|
PasteUploadToken paste = BatApplication.GSON.fromJson(response.body(), PasteUploadToken.class);
|
|
paste.setUrl(PASTE_URL + paste.getKey());
|
|
log.info("Created paste with key \"{}\" ({})", paste.getKey(), paste.getUrl());
|
|
return paste;
|
|
}
|
|
}
|