hfhbd
04/22/2026, 7:03 AMAleksei Tirman [JB]
04/22/2026, 7:12 AMhfhbd
04/22/2026, 7:45 AMclient.href("foo/bar") with defaultRequest { url("<https://example.com/root/>") } and I want to get "https://example.com/root/foo/bar"Aleksei Tirman [JB]
04/22/2026, 8:11 AMMockEngine to trigger the default request plugin and receive the result as `CompletableDeferred`:
suspend fun main(): Unit = coroutineScope {
val client = HttpClient(MockEngine) {
install(Resources)
engine {
addHandler { respondOk() }
}
defaultRequest {
url("<https://example.com/root/>")
}
}
val urlDeferred = CompletableDeferred<URLBuilder>()
client.requestPipeline.intercept(HttpRequestPipeline.State) {
urlDeferred.complete(context.url)
}
launch {
client.get(FooBar())
}
println(urlDeferred.await())
}
@Resource("foo/bar")
class FooBarhfhbd
04/22/2026, 8:13 AMAleksei Tirman [JB]
04/22/2026, 8:15 AM