package Ġcom . k ok as ai . flower kt Ċ Ċ import Ġcom . k ok as ai . flower kt . module . Install K tor Process Ċ import Ġcom . k ok as ai . flower kt . module . Launch Process Ċ import Ġcom . k ok as ai . flower kt . route . Route Path Ċ import Ġio . ktor . application . Application Ċ import Ġio . ktor . routing . routing Ċ import Ġio . ktor . server . engine . Application Engine Factory Ċ import Ġio . ktor . server . engine . embedded Server Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ interface ĠF lower Kt Ġ: ĠLaunch Process , ĠInstall K tor Process Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠLOGGER : ĠLogger Ġ= ĠLoggerFactory . getLogger (" Flow er Kt ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤµ ãĥ¼ãĥĲ ãĥ¼ãģ® ãĥĿãĥ¼ãĥĪ çķª åı· ãģ§ãģĻ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġport : ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ãĥ« ãĥ¼ãĥĪ ãģ® çĻ»éĮ² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġroute Path : ĠSet < Route Path > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤµ ãĥ¼ãĥĲ ãĥ¼ãģ® ãĤ¨ ãĥ³ ãĤ¸ ãĥ³ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġengine : ĠApplication Engine Factory < *, Ġ*> ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApplication :: install ĠãĤĴ å®Łè¡Į ãģĹãģ¾ãģĻ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġinstall K tor Ġãģ® å®Łè¡Į éłĨ ãģ¯ ç¶ Ļ æī¿ åģ ´ ãģ§ å®ļç¾© ãģĻãĤĭå¿ħè¦ģ ãģĮãģĤãĤĬãģ¾ãģĻ ĊĠĠĠĠ Ġ* Ġ``` ĊĠĠĠĠ Ġ* Ġoverride Ġfun Ġinstall K tor ( application : ĠApplication ) Ġ{ ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġsuper < Use # A >. install K tor ( application ) ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġsuper < Use # B >. install K tor ( application ) ĊĠĠĠĠ Ġ* Ġ} ĊĠĠĠĠ Ġ* Ġ``` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġinstall K tor ( application : ĠApplication ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤµ ãĥ¼ãĥĲ ãĥ¼ãĤĴ èµ· åĭķ ãģĹãģ¾ãģĻ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġlaunch Ġãģ® å®Łè¡Į éłĨ ãģ¯ ç¶ Ļ æī¿ åģ ´ ãģ§ å®ļç¾© ãģĻãĤĭå¿ħè¦ģ ãģĮãģĤãĤĬãģ¾ãģĻ ĊĠĠĠĠ Ġ* Ġ``` ĊĠĠĠĠ Ġ* Ġoverride Ġfun Ġlaunch () Ġ{ ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġsuper < Use # A >. launch () ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġsuper < Use # B >. launch () ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġsuper < Flow er Kt >. launch () ĊĠĠĠĠ Ġ* Ġ} ĊĠĠĠĠ Ġ* Ġ``` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ` main ` Ġ éĸ¢æķ° ãģ§ ãģĵãģ® éĸ¢æķ° ãĤĴ åĳ¼ ãģ³ åĩº ãģĹãģ¦ãģıãģłãģķãģĦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġlaunch () Ġ{ ĊĠĠĠĠĠĠĠ Ġembedded Server ( engine , Ġport ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstall K tor ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute Path . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . build ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} Ċ } Ċ