package Ġorg . open min ed . sy ft . networking . clients Ċ Ċ import Ġcom . jak ew h art on . ret rofit 2 . converter . kotlin x . serialization . as Converter Factory Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġokhttp 3 . MediaType . Companion . to MediaType Ċ import Ġorg . open min ed . sy ft . networking . requests . Http API Ċ import Ġorg . open min ed . sy ft . networking . requests . Networking Protocol Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ Ċ /** Ċ Ġ* Ġ@ property ĠapiClient Ġthe Ġretrofit Ġapi Ġclient Ċ Ġ*/ Ċ class ĠHttpClient ( val ĠapiClient : ĠHttp API ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġretrofit Ġapi Ġclient Ġfor ĠPy Grid Ġendpoints . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠbaseUrl Ġurl Ġof Ġthe Ġserver Ġhosting Ġthe Ġpy Grid Ġinstance . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġorg . open min ed . sy ft . networking . requests . Http API Ġfor Ġendpoint Ġdescription . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġinitialize ( baseUrl : ĠString ): ĠHttpClient Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠapiClient : ĠHttp API Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Json . as Converter Factory (" application / json ". to MediaType ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ("${ Networking Protocol . HTTP } :// $ baseUrl ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Http API :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠHttpClient ( apiClient ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }