package Ġcom . hyper aware . bfa . cloud functions Ċ Ċ import Ġcom . google . cloud . functions . Http Function Ċ import Ġcom . google . cloud . functions . HttpRequest Ċ import Ġcom . google . cloud . functions . HttpResponse Ċ import Ġcom . hyper aware . bfa . common . model . An Object Ċ import Ġkotlinx . serialization . Serialization Exception Ċ import Ġkotlinx . serialization . json . Json Ċ Ċ @ Suppress (" unused ") Ċ class ĠNext Version Ġ: ĠHttp Function Ġ{ ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġservice ( request : ĠHttpRequest , Ġresponse : ĠHttpResponse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġrequest . reader . read Text () ĊĠĠĠĠĠĠĠ Ġval Ġinput Object Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson . decode FromString ( An Object . serializer (), Ġinput ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠSerialization Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . set StatusCode ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġoutput Object Ġ= Ġinput Object . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġinput Object . version Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresponse Text Ġ= ĠJson . encode ToString ( An Object . serializer (), Ġoutput Object ) ĊĠĠĠĠĠĠĠ Ġresponse . writer . write ( responseText ) ĊĠĠĠ Ġ} Ċ } Ċ