Declare members of http package NonnullByDefault (#471)

* Add a package-info.java with NonnullByDefault annotation
* Make RequestCapturingClient return a response to satisfy the type checker
This commit is contained in:
Daniel Chao
2024-05-03 09:58:01 -07:00
committed by GitHub
parent 27d8a030b1
commit d28313bca8
2 changed files with 30 additions and 2 deletions

View File

@@ -0,0 +1,4 @@
@NonnullByDefault
package org.pkl.core.http;
import org.pkl.core.util.NonnullByDefault;

View File

@@ -1,17 +1,41 @@
package org.pkl.core.http
import java.net.URI
import java.net.http.HttpHeaders
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(
request: HttpRequest,
responseBodyHandler: HttpResponse.BodyHandler<T>
): HttpResponse<T>? {
): HttpResponse<T> {
this.request = request
return null
return dummyResponse(request)
}
override fun close() {}