package Ġsw ak . interceptor . before Ċ Ċ import Ġio . reactivex . Single Ċ import Ġsw ak . http . request . Up datable Request Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠRequest Up dat ers < T >( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġintercept ors : ĠList < Request Updater < T >> Ċ ) Ġ: ĠRequest Updater < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Request ( request : ĠUp datable Request < T >): ĠSingle < Up datable Request < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= ĠSingle . just ( request ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( interceptor Ġin Ġintercept ors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult . flatMap Ġ{ Ġinterceptor . update Request ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBuilder < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintercept ors : ĠMutable List < Request Updater < T >> Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfun Ġhas Behaviour () Ġ= Ġ! intercept ors . isEmpty () ĊĠĠĠĠĠĠĠ Ġfun Ġbuild () Ġ= ĠRequest Up dat ers ( intercept ors . toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġintercept ors . toString () Ċ }