/************************************************************************ *** Ċ Ġ* ĠThis Ġsource Ġfile Ġis Ġpart Ġof Ġthe ĠHTTP Service Kt Ġopen Ġsource Ġproject . ĠĠĠĠĠ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 - present , ĠIn Motion ĠSoftware Ġand Ġthe Ġproject Ġauthors ĠĠ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT ĠLicense ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ* ĠSee ĠLICENSE . txt Ġfor Ġlicense Ġinformation ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ************************************************************************* **/ Ċ Ċ package Ġcom . in motion software . http service Ċ Ċ fun ĠqueryParams ( var arg Ġpairs : ĠPair < String , ĠString >): ĠQuery Parameters Ġ{ ĊĠĠĠ Ġreturn Ġpairs . fold ( Query Parameters ()) Ġ{ Ġq p , Ġpair Ġ-> ĊĠĠĠĠĠĠĠ Ġq p . add QueryParameter ( pair . first , Ġpair . second ) ĊĠĠĠĠĠĠĠ Ġq p ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠqueryParams Multi Value ( var arg Ġpairs : ĠPair < String , ĠList < String >> ): ĠQuery Parameters Ġ{ ĊĠĠĠ Ġreturn Ġpairs . fold ( Query Parameters ()) Ġ{ Ġq p , Ġpair Ġ-> ĊĠĠĠĠĠĠĠ Ġq p . add Query Parameters ( pair . first , Ġpair . second ) ĊĠĠĠĠĠĠĠ Ġq p ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠQuery Parameters Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġitems : ĠMutable Map < String , ĠList < String >> Ġ= Ġmutable Map Of () ĊĠĠĠ Ġval Ġfields : ĠMap < String , ĠList < String >> Ġget () Ġ{ Ġreturn Ġthis . items . toMap () Ġ} ĊĊĠĠĠ Ġfun Ġadd QueryParameter ( name : ĠString , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . items [ name ] Ġ= Ġthis . items [ name ]?. let Ġ{ Ġit . to Mutable List (). apply Ġ{ Ġadd ( value ) Ġ} Ġ} Ġ?: ĠlistOf ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Query Parameters ( name : ĠString , Ġvalues : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . items [ name ] Ġ= Ġthis . items [ name ]?. let Ġ{ Ġit . to Mutable List (). apply Ġ{ Ġadd All ( values ) Ġ} Ġ} Ġ?: Ġvalues ĊĠĠĠ Ġ} Ċ Ċ } Ċ