package Ġcn . l vs ong . lib . net . intercept er Ċ Ċ import Ġandroid . util . Log Ċ import Ġcn . l vs ong . lib . net . Build Config Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ import Ġok io . Buffer Ċ import Ġjava . io . IOException Ċ import Ġjava . nio . charset . Charset Ċ Ċ /** Ċ Ġ* Ġ æĹ¥å¿Ĺ æĭ ¦ æĪª åĻ¨ ï¼Į åı¯ä»¥ çĶ¨ è¿Ļä¸ª ï¼Į ä¹Łåı¯ä»¥ æĬĬ å®ĥ å½ĵ ä½ľ æł· ä¾ĭ Ċ Ġ* ĠCreated Ġby ĠJ oo yer Ġon Ġ 2 0 1 6 / 1 2 / 1 9 Ċ Ġ*/ Ċ class ĠLogging Interceptor Ġ: ĠInter ceptor Ġ{ ĊĠĠĠ Ġprivate Ġval ĠUTF _ 8 Ġ= ĠCharset . forName (" UTF - 8 ") ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Logger Interceptor " ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġchain . request () ĊĊĠĠĠĠĠĠĠ Ġvar Ġparam Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= Ġrequest . body ĊĠĠĠĠĠĠĠ Ġif Ġ( request Body Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠBuffer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Body . writeTo ( buffer ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcharset : ĠCharset ? Ġ= ĠUTF _ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcontentType Ġ= Ġrequest Body . contentType () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( contentType Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcharset Ġ= ĠcontentType . charset ( UTF _ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ= Ġbuffer . readString ( charset !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġt 1 Ġ= ĠSystem . nano Time () ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , Ġ" ======= request ====== =" Ġ+ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sending Ġrequest Ġ% s Ġon Ġ% s % n % s ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . url , Ġchain . connection (), Ġrequest . headers ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġchain . proceed ( request ) ĊĊĠĠĠĠĠĠĠ Ġval Ġt 2 Ġ= ĠSystem . nano Time () ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , Ġ" ======= response ====== =" Ġ+ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Received Ġresponse Ġfor Ġ% s Ġin Ġ%. 1 f ms % n % s connection =% s ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . request . url , Ġ( t 2 Ġ- Ġt 1 ) Ġ/ Ġ 1 e 6 , Ġresponse . headers , Ġchain . connection () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ Ġ"\ n Ġrequest Ġpr am : Ġ" Ġ+ Ġparam ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse ĊĠĠĠ Ġ} Ċ Ċ } Ċ