package Ġcom . dx movie . dx base . net Ċ Ċ import Ġcom . dx movie . dx base . response . Base Response Ċ import Ġcom . dx movie . dx base . utils . Gson Utils Ċ import Ġio . reactivex . Flow able Operator Ċ import Ġorg . reactiv est ream s . Subscriber Ċ import Ġorg . reactiv est ream s . Subscription Ċ import Ġkotlin . jvm . Throws Ċ Ċ class ĠApi Error Operator By Flow able < T Ġ: ĠBase Response <* >> Ġconstructor () Ġ: ĠFlow able Operator < T , ĠT > Ġ{ ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġapply ( subscriber : ĠSubscriber < in ĠT >): ĠSubscriber < in ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠSubscriber < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( s : ĠSubscription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . on Subscribe ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( response : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . code Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . onError ( ServiceException ( Gson Utils . toJson ( response ), Ġresponse . code , Ġresponse . msg )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . onNext ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . onError ( Exception Handle . handle Exception ( t )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }