package Ġcom . m xt . anit rend . model . api . interceptor Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . m xt . anit rend . Build Config Ċ import Ġcom . m xt . anit rend . base . custom . async . Web Token Request Ċ import Ġcom . m xt . anit rend . util . Settings Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġmax Ġon Ġ 2 0 1 7 / 0 6 / 1 4 . Ċ Ġ* ĠAuth Ġinjector Ġinterceptor Ċ Ġ*/ Ċ Ċ class ĠAuth Interceptor ( ĊĠĠĠ Ġprivate Ġval Ġsettings : ĠSettings Ċ ) Ġ: ĠInter ceptor Ġ{ ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( settings . is Authenticated ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Web Token Request . getInstance () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġchain . request (). newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. header ( Build Config . HEADER _ KEY , ĠWeb Token Request . getInstance (). header ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġchain . proceed ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag (" Auth Interceptor "). e (" Authentication Ġreference Ġis Ġnull , Ġthis Ġshould Ġnot Ġhappen Ġunder Ġnormal Ġconditions ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġchain . proceed ( chain . request ()) ĊĠĠĠ Ġ} Ċ } Ċ