Simplify implementation of RequestCapturingClient (#473)

This commit is contained in:
translatenix
2024-05-06 03:02:45 -07:00
committed by GitHub
parent d28313bca8
commit aeb17588b3

View File

@@ -1,41 +1,18 @@
package org.pkl.core.http
import java.net.URI
import java.net.http.HttpHeaders
import org.pkl.commons.test.FakeHttpResponse
import java.net.http.HttpRequest
import java.net.http.HttpResponse
import java.util.*
import javax.net.ssl.SSLSession
class RequestCapturingClient : HttpClient {
lateinit var request: HttpRequest
private fun <T: Any?> dummyResponse(request: HttpRequest) : HttpResponse<T> {
return object : HttpResponse<T> {
override fun statusCode(): Int = throw NotImplementedError()
override fun request(): HttpRequest = request
override fun previousResponse(): Optional<HttpResponse<T>> = throw NotImplementedError()
override fun headers(): HttpHeaders = throw NotImplementedError()
override fun body(): T = throw NotImplementedError()
override fun sslSession(): Optional<SSLSession> = throw NotImplementedError()
override fun uri(): URI = throw NotImplementedError()
override fun version(): java.net.http.HttpClient.Version = throw NotImplementedError()
}
}
override fun <T : Any?> send(
override fun <T : Any> send(
request: HttpRequest,
responseBodyHandler: HttpResponse.BodyHandler<T>
): HttpResponse<T> {
this.request = request
return dummyResponse(request)
return FakeHttpResponse()
}
override fun close() {}