Interceptor
An object that intercepts requests before being sent and responses before being returned. The intercept function is a suspending function, meaning it is invoked as a coroutine. The coroutine shares the kotlin.coroutines.CoroutineContext used when the HTTP call is first initiated. Typically, this means that all interceptors, along with the HTTP call, are invoked within the same CoroutineScope, and thus typically the same parent kotlinx.coroutines.Job.