package Ġpt . cosm ik . boost ctrl . modules Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . k oin . dsl . module Ċ import Ġpt . cosm ik . boost ctrl . services . Boost Ctrl Service Ċ import Ġpt . cosm ik . boost ctrl . utils . Boost Ctrl Interceptor Ċ import Ġpt . cosm ik . boost ctrl . utils . Boost Ctrl Log Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ var Ġrest Module Ġ= Ġmodule Ġ{ ĊĊĠĠĠ Ġsingle Ġ{ ĠGson () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠBoost Ctrl Log Interceptor . getLogger Interceptor () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠBoost Ctrl Interceptor () Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( get < Http Logging Interceptor >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( get < Boost Ctrl Interceptor >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 1 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 1 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle < Ret rofit > Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl (" https :// api /") Ġ// ĠWe Ġuse Ġthe Ġ@ Url Ġparam Ġbecause Ġwe Ġuse Ġmore Ġthan Ġone Ġbase ĠURL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( get < Ok HttpClient >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( get < Gson > ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle < Boost Ctrl Service > Ġ{ Ġget < Ret rofit >(). create ( Boost Ctrl Service :: class . java ) Ġ} Ċ Ċ }