/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 - 2 0 2 1 ĠAnt on ĠTr ush kov Ċ Ġ* Ċ Ġ* Ġ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 Ġapp . the le ma . js . net Ċ Ċ import Ġapp . the le ma . net .* Ċ import Ġorg . w 3 c . xhr . ARRAY BUFFER Ċ import Ġorg . w 3 c . xhr . XML HttpRequest Ċ import Ġorg . w 3 c . xhr . XML HttpRequest ResponseType Ċ Ċ class ĠJs Http : ĠI Http Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget ( ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġrespond As Bytes : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġheaders : ĠMap < String , ĠString > ?, ĊĠĠĠĠĠĠĠ Ġerror : Ġ( status : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġready : Ġ( response : ĠI HttpResponse ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ( url , Ġ" GET ", Ġrespond As Bytes , Ġheaders , Ġerror , Ġready ). send () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhead ( url : ĠString , Ġheaders : ĠMap < String , ĠString >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhttp Ġ= ĠXMLHttpRequest () ĊĠĠĠĠĠĠĠ Ġhttp . open (" HEAD ", Ġurl , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġhttp . send () ĊĠĠĠĠĠĠĠ Ġreturn Ġhttp . status . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Text ( ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġbody : ĠString , ĊĠĠĠĠĠĠĠ Ġrespond As Bytes : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġheaders : ĠMap < String , ĠString > ?, ĊĠĠĠĠĠĠĠ Ġerror : Ġ( status : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġready : Ġ( response : ĠI HttpResponse ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ( url , Ġ" POST ", Ġrespond As Bytes , Ġheaders , Ġerror , Ġready ). send ( body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest ( ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġmethod : ĠString , ĊĠĠĠĠĠĠĠ Ġrespond As Bytes : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġheaders : ĠMap < String , ĠString > ?, ĊĠĠĠĠĠĠĠ Ġerror : Ġ( status : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġready : Ġ( response : ĠI HttpResponse ) Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠXMLHttpRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġxhr Ġ= ĠXMLHttpRequest () ĊĠĠĠĠĠĠĠ Ġheaders ?. entries ?. forEach Ġ{ Ġxhr . setRequest Header ( it . key , Ġit . value ) Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( respond As Bytes ) Ġxhr . response Type Ġ= ĠXMLHttpRequest ResponseType . ARRAY BUFFER ĊĠĠĠĠĠĠĠ Ġxhr . open ( method , Ġurl , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġxhr . onload Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( xhr . readyState . toInt () Ġ== Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( http Is Success ( xhr . status . toInt ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġready ( T vm HttpResponse ( xhr )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ( xhr . status . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġxhr ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost FormData ( ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġbody : ĠI FormData . () Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġrespond As Bytes : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġheaders : ĠMap < String , ĠString > ?, ĊĠĠĠĠĠĠĠ Ġerror : Ġ( status : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġready : Ġ( response : ĠI HttpResponse ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ( url , Ġ" POST ", Ġrespond As Bytes , Ġheaders , Ġerror , Ġready ). send ( Js FormData (). apply ( body ). form ) ĊĠĠĠ Ġ} Ċ }