package Ġcom . android . mv vm . https . net Ċ Ċ import Ġcom . android . lib . Logger . e Ċ import Ġcom . android . mv vm . util . User Config Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* Ġdate : Ġ 2 0 1 9 / 1 / 3 0 Ċ Ġ* Ġdesc : ĠRequest æĭ ¦ æĪª åĻ¨ ï¼Į æ·»åĬł header -- token Ċ Ġ*/ Ċ class ĠOk Http Interceptor Ġ: ĠInter ceptor Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Ok Http Interceptor " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ Ġ// ĠĠĠĠĠĠĠ ĠRequest Ġoriginal Ġ= Ġchain . request (); Ċ // ĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ ãĢģ ä¿®æĶ¹ è¯·æ±Ĥ å¤´ Ċ // ĠĠĠĠĠĠĠ ĠRequest . Builder Ġbuilder Ġ= Ġoriginal . newBuilder (); Ċ // ĠĠĠĠĠĠĠ Ġbuilder . add Header (" Authorization ", Ġ" Bearer Ġ" Ġ+ ĠUser Config . getInstance (). getToken ()); Ċ // ĠĠĠĠĠĠĠ ĠRequest Ġrequest Ġ= Ġbuilder . build (); Ċ // Ċ // ĠĠĠĠĠĠĠ ĠResponse Ġresponse Ġ= Ġchain . proceed ( request ); Ċ // ĠĠĠĠĠĠĠ ĠResponse Body Ġbody Ġ= Ġresponse . body (); Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( body Ġ!= Ġnull Ġ&& Ġbody . content Length () Ġ== Ġ 0 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . e ( TAG , Ġ" length Ġ= Ġ 0 "); Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ ãĢģ ä¿®æĶ¹ è¯·æ±Ĥ å¤´ ĊĠĠĠĠĠĠĠ Ġval Ġheaders Ġ= Ġoriginal . headers ĊĠĠĠĠĠĠĠ Ġval Ġnew Header Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" Authorization ", Ġ" Bearer Ġ" Ġ+ ĠUser Config . token ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" token ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ey J hb G ci OiJ I Uz I 1 Ni IsIn R 5 c CI 6 I kp X VC J 9 . ey J 1 c 2 Vy T mF t Z SI 6 Ij E 1 Nj g 2 Mj Ix ODE z Ii wi ZX hw Ij ox NT g 3 Mj cy MD M 0 LCJ 1 c 2 Vy SW Qi Oj E wf Q . DU j aj Zq GD m Wn Wi Ua K FR Wp IS zf 0 zf 0 q N 6 hf E 8 u CD AX lk " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġoriginal . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. headers ( new Header ) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġchain . proceed ( request ) ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse . body ĊĠĠĠĠĠĠĠ Ġif Ġ( body Ġ!= Ġnull Ġ&& Ġbody . content Length () Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe ( TAG , Ġ" length Ġ= Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse ĊĠĠĠ Ġ} Ċ Ċ }