package Ġdagger ok . cassandra . app Ċ Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . web . reactive . function . client . Web Client Ċ import Ġorg . springframework . web . reactive . function . client . body To Mono Ċ import Ġorg . springframework . web . reactive . function . server . Server Request Ċ import Ġorg . springframework . web . reactive . function . server . Server Response Ċ import Ġorg . springframework . web . reactive . function . server . body Ċ import Ġorg . springframework . web . reactive . function . server . router Ċ import Ġreactor . core . publisher . Mono Ċ import Ġreactor . core . scheduler . Schedulers Ċ Ċ @ Configuration Ċ class ĠWeb flux Routes Config Ġ{ ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġweb Client () Ġ= ĠWeb Client . create () ĊĊĠ Ġval Ġstop Handler : Ġ( Server Request ) Ġ-> ĠMono < Server Response > Ġ= Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġit . uri (). to URL () ĊĠĠĠ ĠServer Response . ok (). body ( ĊĠĠĠĠĠĠĠ Ġweb Client () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ("${ url . protocol } ://${ url . host }:${ url . port }" Ġ+ Ġ"/ cassandra / shutdown ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . elastic ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . body To Mono < Any >() Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġval Ġfallback Handler : Ġ( Server Request ) Ġ-> ĠMono < Server Response > Ġ= Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġit . uri (). to URL () ĊĠĠĠ ĠServer Response . ok (). body ( ĊĠĠĠĠĠĠĠ Ġweb Client () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ("${ url . protocol } ://${ url . host }:${ url . port }" Ġ+ Ġ"/ cassandra /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . elastic ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . body To Mono < Any >() Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġroutes () Ġ= Ġrouter Ġ{ ĊĠĠĠ Ġ(" / "). nest Ġ{ ĊĠĠĠĠĠ ĠcontentType ( MediaType . APPLICATION _ JSON _ UTF 8 ) ĊĊĠĠĠĠĠ Ġmap Of ( ĊĊĠĠĠĠĠĠĠĠĠ Ġ"/ stop *" Ġto Ġstop Handler , ĊĠĠĠĠĠĠĠĠĠ Ġ" /** " Ġto Ġfallback Handler ĊĊĠĠĠĠĠ Ġ). forEach Ġ{ Ġpath , Ġhandler Ġ-> ĊĊĠĠĠĠĠĠĠ ĠGET ( path , Ġhandler ) ĊĠĠĠĠĠĠĠ ĠPOST ( path , Ġhandler ) ĊĠĠĠĠĠĠĠ ĠPUT ( path , Ġhandler ) ĊĠĠĠĠĠĠĠ ĠDELETE ( path , Ġhandler ) ĊĠĠĠĠĠĠĠ ĠP ATCH ( path , Ġhandler ) ĊĠĠĠĠĠĠĠ ĠHEAD ( path , Ġhandler ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ