Coverage Summary for Class: InterceptExceptionsAndReplaceWithNetworkEitherFailuresKt (com.javiersc.network.either.ktor._internal)

Class Method, % Branch, % Line, % Instruction, %
InterceptExceptionsAndReplaceWithNetworkEitherFailuresKt 100% (1/1) 100% (1/1) 100% (12/12)
InterceptExceptionsAndReplaceWithNetworkEitherFailuresKt$interceptExceptionsAndReplaceWithNetworkEitherFailures$1 100% (1/1) 100% (2/2) 100% (9/9) 100% (80/80)
Total 100% (2/2) 100% (2/2) 100% (10/10) 100% (92/92)


 package com.javiersc.network.either.ktor._internal
 
 import io.ktor.client.HttpClient
 import io.ktor.client.request.HttpSendPipeline
 
 internal fun interceptExceptionsAndReplaceWithNetworkEitherFailures(
     client: HttpClient,
     isNetAvailable: () -> Boolean,
 ) {
     client.sendPipeline.intercept(HttpSendPipeline.State) {
         if (isNetAvailable()) {
             try {
                 proceed()
             } catch (throwable: Throwable) {
                 proceedWith(fakeHttpFailureClientCall(client))
             }
         } else {
             try {
                 proceedWith(fakeLocalFailureClientCall(client))
             } catch (throwable: Throwable) {
                 proceedWith(fakeLocalFailureClientCall(client))
             }
         }
     }
 }