/* Ċ Ġ* ĠJ aval in Ġ- Ġhttps :// jav al in . io Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠDavid ĠÃ ħ se Ċ Ġ* ĠLicensed Ġunder ĠApache Ġ 2 . 0 : Ġhttps :// github . com / tip sy / jav al in / blob / master / LICENSE Ċ Ġ*/ Ċ Ċ package Ġio . jav al in . core . util Ċ Ċ import Ġio . jav al in . Context Ċ import Ġio . jav al in . Handler Ċ import Ġio . jav al in . InternalServerError Response Ċ import Ġio . jav al in . J aval in Ċ Ċ class ĠSwagger Renderer ( val ĠfilePath : ĠString ) Ġ: ĠHandler Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġswagger Version Ġ= ĠOptional Dependency . SW AG GER UI . version ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Util . getResource Url (" META - INF / resources / web j ars / swagger - ui /${ Optional Dependency . SW AG GER UI . version }/ swagger - ui . css ") Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ aval in . log . warn ( Util . missing Dependency Message ( Optional Dependency . SW AG GER UI )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInternal ServerError Response ( Util . missing Dependency Message ( Optional Dependency . SW AG GER UI )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( ctx . query Param (" spec ") Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . result ( Util . getResource Url ( ctx . query Param (" spec ") !! ) !!. read Text ()) ĊĠĠĠĠĠĠĠ Ġelse Ġctx . html (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< head > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< meta Ġcharset =" UTF - 8 "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< title > Swagger ĠUI </ title > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< link Ġrel =" icon " Ġtype =" image / png " Ġhref ="${ ctx . context Path () }/ web j ars / swagger - ui /$ swagger Version / favicon - 1 6 x 1 6 . png " Ġsizes =" 1 6 x 1 6 " Ġ/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< link Ġrel =" stylesheet " Ġhref ="${ ctx . context Path () }/ web j ars / swagger - ui /$ swagger Version / swagger - ui . css " Ġ> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< script Ġsrc ="${ ctx . context Path () }/ web j ars / swagger - ui /$ swagger Version / swagger - ui - bundle . js "></ script > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< style > body { background :# faf afa ; }</ style > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ head > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< body > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< div Ġid =" swagger - ui "></ div > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< script > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . ui Ġ= ĠSwagger UI Bundle ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl : Ġ"${ ctx . matched Path }? spec =$ filePath ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdom _ id : Ġ"# swagger - ui ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link ing : Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresets : Ġ[ Swagger UI Bundle . presets . apis ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ script > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ body > """. trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ