diff --git a/src/main/java/ext/Http.kt b/src/main/java/ext/Http.kt new file mode 100644 index 00000000..8271ed4f --- /dev/null +++ b/src/main/java/ext/Http.kt @@ -0,0 +1,19 @@ +package ext + +import java.net.URI +import java.net.http.HttpClient +import java.net.http.HttpRequest +import java.net.http.HttpResponse + +val client = HttpClient.newBuilder().build() + +fun HttpRequest.Builder.send() = client.send(this.build(), HttpResponse.BodyHandlers.ofString()) +fun HttpRequest.Builder.header(pair: Pair) = this.header(pair.first.toString(), pair.second.toString()) +fun String.request() = HttpRequest.newBuilder(URI.create(this)) + +fun HttpRequest.Builder.post(body: Any? = null) = this.POST(when (body) { + is ByteArray -> HttpRequest.BodyPublishers.ofByteArray(body) + is String -> HttpRequest.BodyPublishers.ofString(body) + is HttpRequest.BodyPublisher -> body + else -> throw Exception("Unsupported body type") +}).send()