onRequest

fun onRequest(interceptor: HttpRequest.() -> Unit)

Registers a request interceptor.

Each interceptor receives the mutable HttpRequest instance about to be sent. Mutations are applied in the order interceptors are registered.

Example:

HttpClient {
onRequest { header("X-Trace-Id", traceIdProvider()) }
onRequest { // second interceptor sees headers added above
if (needsAuth) header("Authorization", "Bearer ${token()}")
}
}

Keep interceptor logic side-effect free except for intentional request mutations.

Parameters

interceptor

A lambda executed with the request as receiver prior to dispatch.