package Ġcom . github . kit tin un f . fuel . core Ċ Ċ import Ġjava . nio . charset . Charset Ċ import Ġjava . nio . charset . Illegal Char setName Exception Ċ Ċ private Ġval ĠTEXT _ CONTENT _ TYPE Ġ= ĠRegex ( ĊĠĠĠĠĠĠĠ Ġ"^ (?: text / .* | application /( ?: csv | javascript | json | typescript | xml | x - yaml | x - www - form - urlencoded | vnd \\. co ffe es cript )| .* \\ +( ?: xml | json )) " Ċ ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġnumber Ġof Ġbytes Ġeither Ġas Ġcontent , Ġas Ġ( unknown ), Ġas Ġ( empty ) Ġor Ġas Ġ( x Ġbytes Ġof Ġtype ). Ċ Ġ* Ċ Ġ* Ġ@ param ĠcontentType Ġ[ String ? ] Ġthe Ġcontent Ġtype Ġor Ġnull Ġif Ġunknown Ċ Ġ* Ġ@ return Ġ[ String ] Ġthe Ġrepresentation Ċ Ġ*/ Ċ fun ĠBody . representation Of Bytes ( contentType : ĠString ?): ĠString Ġ{ ĊĠĠĠ Ġval Ġactual ContentType Ġ= Ġif Ġ( contentType . isNull OrEmpty ()) Ġ"( unknown )" Ġelse ĠcontentType ĊĊĠĠĠ Ġif Ġ( TEXT _ CONTENT _ TYPE . contains Match In ( actual ContentType )) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcharset Regex Ġ= ĠRegex ("^ CHARSET = .* ") ĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= Ġactual ContentType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toUpperCase () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split (' ; ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . trim () Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcharset : ĠCharset Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCharset . forName ( parameters . find Ġ{ Ġcharset Regex . matches ( it ) Ġ} ?. substring After (" CHARSET =") Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegal Char setName Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChar sets . US _ ASCII ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠString ( toByteArray (), Ġcharset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlength Label Ġ= Ġ( length Ġ?: Ġ- 1 L ). let Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ== Ġ 0 L Ġ-> Ġreturn Ġ"( empty )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ< Ġ 0 L Ġ-> Ġ" unknown Ġnumber Ġof Ġbytes " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"$ it Ġbytes " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġ" ($ length Label Ġof Ġ$ actual ContentType )" Ċ } Ċ