package Ġcom . b aj dcc . web Ċ Ċ import Ġcom . b aj dcc . L AL R 1 . grammar . runtime . Runtime Process Ċ import Ġcom . b aj dcc . L AL R 1 . interpret . module . Module Net Ċ import Ġcom . b aj dcc . L AL R 1 . interpret . module . user . Module User Base Ċ import Ġcom . b aj dcc . web . bean . Spring Bean Exec Ċ import Ġorg . apache . commons . text . String Escape Utils Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ /** Ċ Ġ* ĠãĢĲ Web æľįåĬ¡ ãĢĳ API æİ¥åı£ Ċ Ġ* Ċ Ġ* Ġ@ author Ġb aj dcc Ċ Ġ*/ Ċ @ RestController Ċ @ RequestMapping ("/ api ") Ċ class ĠSpring Api Controller Ġ{ ĊĠĠĠ Ġvar Ġexec Id Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ query /{ item } "], Ġmethod Ġ= Ġ[( Request Method . GET )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġquery Item (@ PathVariable ( value Ġ= Ġ" item ") Ġitem : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request (" query /$ item ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ md /{ item } "], Ġmethod Ġ= Ġ[( Request Method . GET )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġget Markdown (@ PathVariable ( value Ġ= Ġ" item ") Ġitem : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request (" md /$ item ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ vfs "], Ġparams Ġ= ĠarrayOf (" path "), Ġmethod Ġ= Ġ[( Request Method . GET )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġget V fs (@ RequestParam (" path ") Ġpath : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" vfs /" Ġ+ ĠString Escape Utils . un escape Html 4 ( path ). replace ('/', Ġ'_ ')) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ fs "], Ġparams Ġ= Ġ[" path "], Ġmethod Ġ= Ġ[( Request Method . GET )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġget V fs Text (@ RequestParam (" path ") Ġpath : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fs /" Ġ+ ĠString Escape Utils . un escape Html 4 ( path ). replace ('/', Ġ'_ ')) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ exec "], Ġmethod Ġ= Ġ[( Request Method . POST )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġexec Code (@ RequestBody Ġctx : ĠSpring Bean Exec ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( ctx . code Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRuntime Process . write Pipe ( Module User Base . EXEC _ PREFIX Ġ+ Ġexec Id , Ġctx . code !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request (" exec /${ exec Id ++ }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ exec _ query "], Ġparams Ġ= Ġ[" id "], Ġmethod Ġ= ĠarrayOf ( Request Method . GET ), Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġexec Query (@ RequestParam (" id ") Ġid : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request (" exec _ query /$ id ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ RequestMapping ( value Ġ= Ġ["/ exec _ kill "], Ġparams Ġ= Ġ[" id "], Ġmethod Ġ= Ġ[( Request Method . GET )], Ġproduces Ġ= Ġ[( MediaType . APPLICATION _ JSON _ UTF 8 _ VALUE )]) ĊĠĠĠ Ġfun Ġexec Kill (@ RequestParam (" id ") Ġid : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠModule Net . instance . web Api ?. send Request (" exec _ kill /$ id ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( obj Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 2 0 0 , Ġ" data " Ġto Ġobj ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Map Of (" code " Ġto Ġ 4 0 4 ) ĊĠĠĠ Ġ} Ċ } Ċ