package Ġde . sch net t ler . last fm . di Ċ Ċ import Ġcom . ch u cker team . ch u cker . api . Ch u cker Interceptor Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġde . sch net t ler . last fm . annotation . okhttp . Authorized Last fm HttpClient Ċ import Ġde . sch net t ler . last fm . annotation . okhttp . Basic Last fm HttpClient Ċ import Ġde . sch net t ler . last fm . annotation . okhttp . Signed Last fm HttpClient Ċ import Ġde . sch net t ler . last fm . interceptor . Last fm Interceptor Ċ import Ġde . sch net t ler . last fm . interceptor . Session Interceptor Ċ import Ġde . sch net t ler . last fm . interceptor . Signature Interceptor Ċ import Ġde . sch net t ler . sc ro bb ler . network . common . annotation . okhttp . Base Ok HttpClient Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ class ĠOk HttpClient Module Ġ{ ĊĊĠĠĠ Ġ@ Authorized Last fm HttpClient ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Authorized Ok HttpClient ( ĊĠĠĠĠĠĠĠ Ġsession Interceptor : ĠSession Interceptor , ĊĠĠĠĠĠĠĠ Ġlogging Interceptor : ĠHttp Logging Interceptor , ĊĠĠĠĠĠĠĠ Ġch u cker Interceptor : ĠCh u cker Interceptor , ĊĠĠĠĠĠĠĠ Ġlast fm Interceptor : ĠLast fm Interceptor , ĊĠĠĠĠĠĠĠ Ġ@ Base Ok HttpClient Ġok HttpClient : ĠOk HttpClient , ĊĠĠĠ Ġ): ĠOk HttpClient Ġ= Ġok HttpClient . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( last fm Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( session Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( ch u cker Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Suppress (" Long Parameter List ") ĊĠĠĠ Ġ@ Signed Last fm HttpClient ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Signature Ok HttpClient ( ĊĠĠĠĠĠĠĠ Ġsignature Interceptor : ĠSignature Interceptor , ĊĠĠĠĠĠĠĠ Ġlogging Interceptor : ĠHttp Logging Interceptor , ĊĠĠĠĠĠĠĠ Ġsession Interceptor : ĠSession Interceptor , ĊĠĠĠĠĠĠĠ Ġch u cker Interceptor : ĠCh u cker Interceptor , ĊĠĠĠĠĠĠĠ Ġlast fm Interceptor : ĠLast fm Interceptor , ĊĠĠĠĠĠĠĠ Ġ@ Base Ok HttpClient Ġok HttpClient : ĠOk HttpClient , ĊĠĠĠ Ġ): ĠOk HttpClient Ġ= Ġok HttpClient . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( last fm Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( session Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( signature Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( ch u cker Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Basic Last fm HttpClient ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Basic Ok HttpClient ( ĊĠĠĠĠĠĠĠ Ġlogging Interceptor : ĠHttp Logging Interceptor , ĊĠĠĠĠĠĠĠ Ġch u cker Interceptor : ĠCh u cker Interceptor , ĊĠĠĠĠĠĠĠ Ġlast fm Interceptor : ĠLast fm Interceptor , ĊĠĠĠĠĠĠĠ Ġ@ Base Ok HttpClient Ġok HttpClient : ĠOk HttpClient , ĊĠĠĠ Ġ): ĠOk HttpClient Ġ= Ġok HttpClient . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( last fm Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( ch u cker Interceptor ) ĊĠĠĠĠĠĠĠ Ġ. build () Ċ } Ċ