/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠT rev or ĠJ ones Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . tre vj one z . github Ċ Ċ import Ġcom . squareup . mos hi . FromJson Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġcom . squareup . mos hi . ToJson Ċ import Ġokhttp 3 . Http Url Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġretrofit 2 . converter . scal ars . Scalars Converter Factory Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Z onedDateTime Ċ Ċ fun Ġdefault Ret rofit ( baseUrl : ĠString Ġ= ĠDEFAULT _ BASE _ URL ) Ġ= ĠRet rofit . Builder () ĊĠ Ġ. client ( ĊĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠ Ġ. add Interceptor ( header Interceptor (" Accept ", Ġ" application / vnd . github . v 3 + json ")) ĊĠĠĠĠĠ Ġ. build () ĊĠ Ġ) ĊĠ Ġ. baseUrl ( Http Url . get ( baseUrl )) ĊĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ( default M oshi ())) ĊĠ Ġ. add Converter Factory ( Scalars Converter Factory . create ()) ĊĠ Ġ. build () Ċ Ċ fun Ġdefault M oshi (): ĠM oshi Ġ= ĠM oshi . Builder () ĊĠ Ġ. add ( LocalDateTime Adapter ()) ĊĠ Ġ. build () Ċ Ċ fun Ġheader Interceptor ( name : ĠString , Ġvalue : ĠString ) Ġ= ĠInter ceptor Ġ{ Ġchain Ġ-> ĊĠ Ġchain . proceed ( ĊĠĠĠ Ġchain . request () ĊĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠ Ġ. header ( name , Ġvalue ) ĊĠĠĠĠĠ Ġ. build () ĊĠ Ġ) Ċ } Ċ Ċ class ĠLocalDateTime Adapter Ġ{ ĊĠ Ġ@ FromJson ĊĠ Ġfun Ġfrom ( json : ĠString ): ĠLocalDateTime Ġ{ ĊĠĠĠ Ġreturn ĠZ onedDateTime . parse ( json ). to LocalDateTime () ĊĠ Ġ} ĊĊĠ Ġ@ ToJson ĊĠ Ġfun Ġto ( time : ĠLocalDateTime ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġtime . toString () ĊĠ Ġ} Ċ }