package Ġcom . github . par ke e . wit . intent Ċ Ċ import Ġcom . github . kit tin un f . fuel . Fuel Ċ import Ġcom . github . par ke e . wit . exception . W it Exception Ċ import Ġcom . github . par ke e . wit . intent . entity . W it Get Intent Result Ċ import Ġcom . github . par ke e . wit . json . fromJson To Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġpar ke e Ġon Ġ 4 / 2 1 / 1 6 . Ċ Ġ*/ Ċ class ĠW it Intent Template ( ĊĠĠĠĠĠĠĠ Ġval ĠaccessToken : ĠString , Ġval Ġaccept Header : ĠString Ġ= Ġ" application / vnd . wit . 2 0 1 6 0 3 3 0 + json ") Ġ: ĠW it Intent Operations Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġheaders Ġ= Ġmap Of (" authorization " Ġto Ġ" Bearer Ġ$ accessToken ", Ġ" accept " Ġto Ġaccept Header ) ĊĊĠĠĠ Ġprivate Ġval ĠBASE _ URL Ġ= Ġ" https :// api . wit . ai / message " ĊĊĠĠĠ Ġoverride Ġfun Ġget Sentence Mean ing ( query : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠMap < String , ĠAny > ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthread Id : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnumberOf Best Outcome s : ĠInt ?): ĠW it Get Intent Result Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ(!( query . length Ġ> Ġ 0 Ġ&& Ġquery . length Ġ< Ġ 2 5 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" User âĢĻ s Ġquery Ġlength Ġmust Ġbe Ġ> Ġ 0 Ġand Ġ< Ġ 2 5 6 , Ġbut Ġwas Ġ${ query . length }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" q " Ġto Ġquery , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" context " Ġto Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" msg _ id " Ġto ĠmessageId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" thread _ id " Ġto Ġthread Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" n " Ġto ĠnumberOf Best Outcome s ) ĊĊĠĠĠĠĠĠĠ Ġval Ġ( request , Ġresponse , Ġresult ) Ġ= ĠF uel . get ( BASE _ URL , Ġparameters ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. header ( headers ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response String () ĊĊĠĠĠĠĠĠĠ Ġval Ġ( success Response , Ġerror Response ) Ġ= Ġresult ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Data : ĠByteArray ? Ġ= Ġerror Response ?. error Data ĊĠĠĠĠĠĠĠ Ġif Ġ( error Data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠW it Exception (" Error Ġwith Ġcode Ġ${ response . http StatusCode } Ġand Ġbody Ġ${ String ( error Data )} ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuccess Response ?. fromJson To ( W it Get Intent Result :: class ) Ġ?: Ġthrow ĠW it Exception (" W it Ġreturned Ġempty Ġresult ") ĊĠĠĠ Ġ} Ċ } ĊĊ