package Ġtest . web Ċ Ċ import Ġcom . s ams k iv ert . must ache . Must ache Ċ import Ġorg . springframework . context . Message Source Ċ import Ġorg . springframework . core . io . Class Path Resource Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . web . reactive . function . server . Rendering Response Ċ import Ġorg . springframework . web . reactive . function . server . Server Response Ċ import Ġorg . springframework . web . reactive . function . server . router Ċ import Ġreactor . core . publisher . to Mono Ċ import Ġtest . locale Ċ import Ġjava . util .* Ċ Ċ class ĠRoutes ( private Ġval Ġuser Handler : ĠUser Handler , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġmessage Source : ĠMessage Source ) Ġ{ ĊĠ Ġfun Ġrouter () Ġ= Ġrouter Ġ{ ĊĠĠĠ Ġaccept ( MediaType . TEXT _ HTML ). nest Ġ{ ĊĠĠĠĠĠ ĠGET ("/") Ġ{ ĠServer Response . ok (). render (" index ") Ġ} ĊĠĠĠĠĠ ĠGET ("/ users ", Ġuser Handler :: findAll View ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ"/ api ". nest Ġ{ ĊĠĠĠĠĠ Ġaccept ( MediaType . APPLICATION _ JSON ). nest Ġ{ ĊĠĠĠĠĠĠĠ ĠGET ("/ users ", Ġuser Handler :: findAll ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġresources (" /** ", ĠClass Path Resource (" static / ")) ĊĠ Ġ}. filter Ġ{ Ġrequest , Ġnext Ġ-> ĊĠĠĠ Ġnext . handle ( request ). flatMap Ġ{ ĊĠĠĠĠĠ Ġif Ġ( it Ġis ĠRendering Response ) ĠRendering Response . from ( it ). model Attributes ( attributes ( request . locale (), Ġmessage Source )). build () Ġelse Ġit . to Mono () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġattributes ( locale : ĠLocale , Ġmessage Source : ĠMessage Source ) Ġ= Ġmutable Map Of < String , ĠAny >( ĊĠĠĠĠĠ Ġ" i 1 8 n " Ġto ĠMust ache . Lambda Ġ{ Ġfrag , Ġout Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġtokens Ġ= Ġfrag . execute (). split ("| ") ĊĠĠĠĠĠĠĠ Ġout . write ( message Source . getMessage ( tokens [ 0 ], Ġtokens . slice ( Int Range ( 1 , Ġtokens . size Ġ- Ġ 1 )). to Typed Array (), Ġlocale )) Ġ}) Ċ }