/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠThe ĠDeb Lib s ĠAuthors Ċ Ġ* Ċ Ġ* Ġ Ġ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 . hello fresh . deb libs Ċ Ċ import Ġokhttp 3 . MediaType . Companion . to MediaType OrNull Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . RequestBody . Companion . to RequestBody Ċ import Ġokhttp 3 . Response Ċ Ċ interface ĠBase Client Ġ: ĠRunnable Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient () ĊĠĠĠĠĠĠĠ Ġval ĠJSON Ġ= Ġ" application / json ; Ġcharset = utf - 8 ". to MediaType OrNull () ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAUTH ORIZ ATION Ġ= Ġ" Authorization " ĊĠĠĠĠĠĠĠ Ġval Ġrequest Builder : ĠRequest . Builder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" User - Agent ", Ġ" deb libs - gradle - plugin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpost Request ( ĊĠĠĠĠĠĠĠ Ġjson : ĠString , ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġheader Name : ĠString , ĊĠĠĠĠĠĠĠ Ġheader Value : ĠString ĊĠĠĠ Ġ): ĠPair < Response ?, ĠInt > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= Ġjson . to RequestBody ( JSON ) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder . add Header ( header Name , Ġheader Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( request Body ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġvar Ġresponse : ĠResponse ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġstatus : ĠInt ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ= Ġclient . new Call ( request ). execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġresponse . code ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse ?. close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠPair ( response , Ġstatus ) ĊĠĠĠ Ġ} Ċ } Ċ