package Ġcom . de mod o ce bo . test . data . api Ċ Ċ import Ġcom . de mod o ce bo . test . data . api . exceptions . ApiException Ċ import Ġcom . de mod o ce bo . test . data . api . exceptions . Network Exception Ċ import Ġio . reactivex . Observable Ċ import Ġretrofit 2 . HttpException Ċ import Ġjava . io . IOException Ċ import Ġjava . net . Socket TimeoutException Ċ Ċ fun Ġ< T > ĠObservable < T >. onError Check Ret rofit Exception (): ĠObservable < T > Ġ= ĠonError Resume Next Ġ{ Ġt : ĠThrowable Ġ-> ĊĊĠĠĠ Ġwhen Ġ( t ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠHttp Exception Ġ-> ĠObservable . error < T >( ApiException . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt . message (), Ġt , Ġt . code (), ĠString (). apply Ġ{ Ġt . response (). error Body ()?. string () Ġ})) ĊĊĠĠĠĠĠĠĠ Ġis ĠSocket TimeoutException Ġ-> ĠObservable . error < T >( Network Exception . timeout ( t )) ĊĠĠĠĠĠĠĠ Ġis ĠIOException Ġ-> ĠObservable . error < T >( Network Exception . no Network ( t )) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠObservable . error < T >( Network Exception . generic ( t )) ĊĠĠĠ Ġ} Ċ Ċ }