/* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 8 Ġ- Ġpresent Ġ 8 x 8 , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . j its i . video bridge . api . server Ċ Ċ import Ġio . ktor . application . Application Ċ import Ġio . ktor . application . call Ċ import Ġio . ktor . application . install Ċ import Ġio . ktor . features . Content Neg otiation Ċ import Ġio . ktor . jackson . jackson Ċ import Ġio . ktor . response . respond Ċ import Ġio . ktor . routing . get Ċ import Ġio . ktor . routing . route Ċ import Ġio . ktor . routing . routing Ċ import Ġio . ktor . websocket . WebSocket s Ċ import Ġorg . j its i . video bridge . api . types . ApiVersion Ċ import Ġorg . j its i . video bridge . api . types . Supported Api Versions Ċ import Ġorg . j its i . video bridge . api . server . v 1 . app Ġas Ġv 1 App Ċ import Ġorg . j its i . video bridge . api . types . v 1 . Conference Manager Ġas Ġv 1 Conference Manager Ċ Ċ /** Ċ Ġ* ĠThe Ġtop Ġlevel ĠJ VB ĠAPI Ġapplication . Ġ ĠIt 's Ġresponsible Ġfor Ġinserting Ġall Ċ Ġ* Ġthe Ġcorrect Ġversions Ġof Ġthe Ġapplication Ġat Ġthe Ġcorrect ĠURLs Ġand Ġinject ing Ċ Ġ* Ġthe Ġ[ v 1 Conference Manager ] Ġinstance Ġfor Ġcalls . Ċ Ġ*/ Ċ fun ĠApplication . module ( conference Manager : Ġv 1 Conference Manager ) Ġ{ ĊĠĠĠ Ġinstall ( Content Neg otiation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġj ack son Ġ{} ĊĠĠĠ Ġ} ĊĠĠĠ Ġinstall ( WebSocket s ) ĊĠĠĠ Ġrouting Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġtrace Ġ{ Ġprintln ( it . build Text ()) Ġ} ĊĠĠĠĠĠĠĠ Ġroute ("/ v 1 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv 1 App ( conference Manager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġget ("/ about / api _ version ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( SUPPORTED _ API _ VERSION S ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠWhat Ġversions Ġof Ġthe ĠAPI Ġare Ġcurrently Ġsupported Ġby Ġj vb - api - server . Ġ ĠWh enever Ċ Ġ* Ġsupport Ġfor Ġa Ġnew Ġversion Ġis Ġadded , Ġthe Ġ[ ApiVersion ] Ġmust Ġbe Ġadded Ġto Ċ Ġ* Ġthis Ġvalue . Ġ ĠIf Ġsupport Ġfor Ġan Ġolder Ġversion Ġis Ġremoved , Ġit Ġmust Ġbe Ġremoved Ċ Ġ* Ġfrom Ġthis Ġvalue . Ċ Ġ*/ Ċ @ Jvm Field Ċ val ĠSUPPORT ED _ API _ VERSION S Ġ= ĠSupported Api Versions ( ApiVersion . V 1 ) Ċ