package Ġcom . ent . live . client Ċ Ċ import Ġcom . ent . live . client . oauth . Oauth AccessToken Type Ċ import Ġio . reactivex . Observer Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ Ċ class ĠClient Interceptor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġauth Type : ĠO auth AccessToken Type , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġobserver : ĠObserver < Unit > Ċ ) Ġ: ĠInter ceptor Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġintercept ( p 0 : ĠInter ceptor . Chain ?): ĠResponse Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( p 0 Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġp 0 . request () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. header ( auth Type . key , Ġauth Type . token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġp 0 . proceed ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . code ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 3 Ġ-> Ġobserver . onNext ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Builder (). build () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }