
tech.harmonysoft.oss.http.client.HttpClient.kt Maven / Gradle / Ivy
package tech.harmonysoft.oss.http.client
import org.apache.hc.client5.http.classic.methods.*
import org.apache.hc.core5.http.HttpEntity
import tech.harmonysoft.oss.http.client.response.HttpResponse
import tech.harmonysoft.oss.http.client.response.HttpResponseConverter
interface HttpClient {
fun execute(
request: HttpUriRequestBase,
converter: HttpResponseConverter,
headers: Map = emptyMap()
): HttpResponse
fun get(url: String, headers: Map = emptyMap()): HttpResponse {
return get(url, HttpResponseConverter.STRING, headers)
}
fun get(
url: String,
converter: HttpResponseConverter,
headers: Map = emptyMap()
): HttpResponse {
return execute(HttpGet(url), converter, headers)
}
fun post(
url: String,
entity: HttpEntity,
converter: HttpResponseConverter,
headers: Map = emptyMap()
): HttpResponse {
return execute(HttpPost(url).apply { this.entity = entity }, converter, headers)
}
fun put(
url: String,
entity: HttpEntity,
converter: HttpResponseConverter,
headers: Map = emptyMap()
): HttpResponse {
return execute(HttpPut(url).apply { this.entity = entity }, converter, headers)
}
fun delete(
url: String,
converter: HttpResponseConverter,
headers: Map = emptyMap()
): HttpResponse {
return execute(HttpDelete(url), converter, headers)
}
fun close()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy