package Ġcom . trib 3 . server . modules Ċ Ċ import Ġcom . co da h ale . metrics . Metric Registry Ċ import Ġcom . co da h ale . metrics . health . HealthCheck Ċ import Ġcom . co da h ale . metrics . health . HealthCheck Registry Ċ import Ġcom . google . inject . Scopes Ċ import Ġcom . google . inject . mult ib ind ings . Provides Into Set Ċ import Ġcom . pal om in ol abs . metrics . gu ice . Metrics Instrumentation Module Ċ import Ġcom . trib 3 . config . modules . K MS Module Ċ import Ġcom . trib 3 . json . modules . ObjectMapper Module Ċ import Ġcom . trib 3 . server . config . Tri be Application Config Ċ import Ġcom . trib 3 . server . config . drop wizard . Ho con Configuration Factory Factory Ċ import Ġcom . trib 3 . server . coroutine . Coroutine Model Processor Ċ import Ġcom . trib 3 . server . filters . RequestId Filter Ċ import Ġcom . trib 3 . server . health checks . Ping HealthCheck Ċ import Ġcom . trib 3 . server . health checks . Version HealthCheck Ċ import Ġcom . trib 3 . server . resources . Auth Cookie Resource Ċ import Ġcom . trib 3 . server . resources . Ping Resource Ċ import Ġdev . mis fit labs . kot ling u ice 4 . mult ib ind ings . Kotlin Mult ib inder Ċ import Ġio . drop wizard . Configuration Ċ import Ġio . drop wizard . auth . Auth Value Factory Provider Ċ import Ġio . drop wizard . configuration . Configuration Factory Factory Ċ import Ġorg . eclipse . jetty . servlet s . Cross Origin Filter Ċ import Ġorg . glass fish . j ersey . server . filter . Roles Allowed Dynamic Feature Ċ import Ġjava . security . Principal Ċ import Ġjavax . inject . Provider Ċ import Ġjavax . servlet . Filter Ċ Ċ data Ġclass ĠServlet Filter Config ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġfilter Class : ĠClass < out ĠFilter >, ĊĠĠĠ Ġval Ġinit Parameters : ĠMap < String , ĠString > Ġ= Ġempty Map () Ċ ) Ċ Ċ /** Ċ Ġ* ĠThe Ġdefault Ġgu ice Ġmodule , Ġbind s Ġthings Ġcommon Ġto Ġdrop wizard Ġand Ġserver less Ġexecution Ċ Ġ*/ Ċ class ĠDefault Application Module Ġ: ĠTri be Application Module () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġconfigure () Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall ( K MS Module ()) ĊĠĠĠĠĠĠĠ Ġinstall ( ObjectMapper Module ()) ĊĠĠĠĠĠĠĠ Ġ// Ġbind ĠHO CON Ġconfiguration Ġparser ĊĠĠĠĠĠĠĠ Ġbind < Configuration Factory Factory < Configuration >> (). to < Ho con Configuration Factory Factory < Configuration >>() ĊĠĠĠĠĠĠĠ Ġ// ĠBind Ġcommon Ġhealth Ġchecks ĊĠĠĠĠĠĠĠ Ġval Ġhealth Checks Ġ= ĠKotlin Mult ib inder . new Set Binder < HealthCheck >( kotlin Binder ) ĊĠĠĠĠĠĠĠ Ġhealth Checks . add Binding (). to < Ping HealthCheck >() ĊĠĠĠĠĠĠĠ Ġhealth Checks . add Binding (). to < Version HealthCheck >() ĊĊĠĠĠĠĠĠĠ Ġval Ġfilter Binder Ġ= ĠKotlin Mult ib inder . new Set Binder < Servlet Filter Config >( kotlin Binder ) ĊĠĠĠĠĠĠĠ Ġfilter Binder . add Binding (). to Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠServlet Filter Config ( RequestId Filter :: class . java . simple Name , ĠRequest Id Filter :: class . java ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠBind Ġstandard Ġresources Ġresources ĊĠĠĠĠĠĠĠ Ġresource Binder (). add Binding (). to < Ping Resource >() ĊĠĠĠĠĠĠĠ Ġresource Binder (). add Binding (). to < Auth Cookie Resource >() ĊĊĠĠĠĠĠĠĠ Ġ// ĠBind Ġcoroutine Ġmodel Ġprocessor ĊĠĠĠĠĠĠĠ Ġresource Binder (). add Binding (). to Instance ( Coroutine Model Processor :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġup Ġmetrics Ġfor Ġgu ice Ġcreated Ġinstances ĊĠĠĠĠĠĠĠ Ġval Ġregistry Ġ= ĠMetric Registry () ĊĠĠĠĠĠĠĠ Ġbind < Metric Registry >(). to Instance ( registry ) ĊĠĠĠĠĠĠĠ Ġinstall ( Metrics Instrumentation Module . builder (). with Metric Registry ( registry ). build ()) ĊĠĠĠĠĠĠĠ Ġbind < HealthCheck Registry >(). ` in `( Scopes . SINGLE TON ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠEnsure Ġ@ Auth Ġannotations Ġcan Ġbe Ġused Ġas Ġlong Ġas Ġdownstream Ġbind s Ġan ĠAuth Filter Ġimplementation ĊĠĠĠĠĠĠĠ Ġ// Ġ( and Ġoptionally Ġan ĠAuthor izer Ġimplementation ) ĊĠĠĠĠĠĠĠ Ġresource Binder (). add Binding (). to Instance ( Roles Allowed Dynamic Feature :: class . java ) ĊĠĠĠĠĠĠĠ Ġresource Binder (). add Binding (). to Instance ( Auth Value Factory Provider . Binder ( Principal :: class . java )) ĊĠĠĠĠĠĠĠ Ġauth Filter Binder (). setDefault (). to Provider ( Provider Ġ{ Ġnull Ġ}) ĊĠĠĠĠĠĠĠ Ġauthor izer Binder (). setDefault (). to Provider ( Provider Ġ{ Ġnull Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConfigure ĠCORS Ġheaders Ġto Ġallow Ġthe Ġservice Ġto Ġbe Ġhit Ġfrom Ġpages Ġhosted ĊĠĠĠĠ Ġ* Ġby Ġthe Ġadmin Ġport , Ġthe Ġapp Ġport , Ġor Ġstandard ĠHTTP Ġports Ġon Ġthe Ġconfigured ĊĠĠĠĠ Ġ* Ġ[ Tri be Application Config . cors Domain ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Provides Into Set ĊĠĠĠ Ġfun Ġprovide Cors Filter ( app Config : ĠTri be Application Config ): ĠServlet Filter Config Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcors Domain Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Config . cors Domains . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https ? :// *. ?$ it ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https ? :// *. ?$ it :${ app Config . app Port }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. join ToString (",") ĊĠĠĠĠĠĠĠ Ġval Ġparam Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCross Origin Filter . ALLOWED _ OR IG INS _ PARAM Ġto Ġcors Domain , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCross Origin Filter . ALLOWED _ METHO DS _ PARAM Ġto Ġ" GET , POST , PUT , DELETE , OPTIONS , PATCH , HEAD ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCross Origin Filter . ALLOW _ CRED ENTIAL S _ PARAM Ġto Ġ" true " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠServlet Filter Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCross Origin Filter :: class . java . simple Name , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCross Origin Filter :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Map ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġallow Ġmultiple Ġinstall ations Ġso Ġthat Ġmultiple Ġother Ġmodules Ġcan Ġinstall Ġthis Ġone ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġother Ġis ĠDefault Application Module ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis :: class . hashCode () ĊĠĠĠ Ġ} Ċ } Ċ