package Ġcom . lo f tech s . sample . model . http Ċ Ċ import Ġandroid . util . Base 6 4 Ċ import Ġcom . lo f tech s . sample . Build Config Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . Response Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . io . IOException Ċ Ċ class ĠToken HttpClient Helper Ġ: ĠHttpClient Helper () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠToken HttpClient Helper :: class . java . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġset Interceptor Action ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġauthorization Ġ= Ġcreate Authorization () ĊĠĠĠĠĠĠĠ Ġval Ġoriginal : ĠRequest Ġ= Ġchain . request () ĊĊĠĠĠĠĠĠĠ ĠTim ber . tag ( TAG ). i (" request Ġurl : Ġ${ original . url }") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġoriginal . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" User - Agent ", Ġ" android ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Authorization ", Ġauthorization ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Brand - Id ", ĠBuild Config . Brand _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Content - Type ", ĠCONTENT _ TYPE _ JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. method ( original . method , Ġoriginal . body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ// nonce Ġcheck ĊĠĠĠĠĠĠĠ Ġval Ġresponse : ĠResponse Ġ= Ġchain . proceed ( request ) ĊĠĠĠĠĠĠĠ ĠTim ber . tag ( TAG ). i (" response : Ġ${ response . code }") ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠbaseUrl : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild Config . Auth _ API ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Authorization (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplain Ġ= Ġ"${ Build Config . Developer _ Account }:${ Build Config . Developer _ Password }" ĊĠĠĠĠĠĠĠ Ġval Ġencoded Ġ= ĠBase 6 4 . encode ToString ( plain . toByteArray (), ĠBase 6 4 . NO _ WRAP ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Basic Ġ$ encoded " ĊĠĠĠ Ġ} Ċ }