package Ġk af kas noop . wrap Ċ Ċ import Ġcom . pap sign . ktor . open ap igen . Open API Gen Ċ import Ġcom . pap sign . ktor . open ap igen . route . api Routing Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . server . engine .* Ċ import Ġio . ktor . server . netty .* Ċ import Ġio . ktor . websocket .* Ċ import Ġk af kas noop . Kafka Client Factory Ċ import Ġk af kas noop . Server Ċ import Ġk af kas noop . avro . Schema Registry Ċ import Ġk af kas noop . http . install Content Neg otiation Ċ import Ġk af kas noop . http . open Api Ċ import Ġk af kas noop . routes . messages Ws Ċ import Ġk af kas noop . routes . s noop Api Routes Ċ import Ġk af kas noop . serial isation . Byte ToString Service Ċ import Ġk af kas noop . serial isation . Message Deserial iser Ċ import Ġk af kas noop . serial isation . avro . Message Schema Options Ċ import Ġk af kas noop . serial isation . avro . routes . serial iser Api Routes Ċ import Ġk af kas noop . serial isation . avro . routes . serial iser Routes Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ @ Experimental Cor outines Api Ċ class ĠServer ( ĊĠĠĠ Ġprivate Ġval Ġschema Registry : ĠSchema Registry , ĊĠĠĠ Ġprivate Ġval Ġmessage Envelope Options : ĠMessage Schema Options , ĊĠĠĠ Ġprivate Ġval Ġkafka Client Factory : ĠKafka Client Factory , Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Server :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart ( port : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Starting ĠHTTP Ġserver ") ĊĠĠĠĠĠĠĠ Ġembedded Server ( Net ty , Ġport Ġ= Ġport ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġserial ias er Ġis Ġlocal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġde serial iser Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠByte ToString Service ( Url (" http :// localhost :$ port / json ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrapped Server ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Envelope Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkafka Client Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġde serial iser , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}. start ( wait Ġ= Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠApplication . wrapped Server ( ĊĠĠĠĠĠĠĠ Ġschema Registry : ĠSchema Registry , ĊĠĠĠĠĠĠĠ Ġmessage Envelope Options : ĠMessage Schema Options , ĊĠĠĠĠĠĠĠ Ġkafka Client Factory : ĠKafka Client Factory , ĊĠĠĠĠĠĠĠ Ġde serial iser : ĠMessage Deserial iser , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall Content Neg otiation () ĊĠĠĠĠĠĠĠ Ġinstall ( WebSocket s ) ĊĠĠĠĠĠĠĠ Ġinstall ( Open API Gen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbasic Ġinfo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 0 . 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Kafka S noop Ġ& ĠAV RO ĠSerial isation ĠAPI " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" HTTP ĠAPI Ġfor Ġboth ĠKafka S noop Ġand ĠAV RO ĠSerial isation " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrouting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Api () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessages Ws ( kafka Client Factory , Ġde serial iser ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNOTE : Ġopen API Ġrouting Ġwasn 't Ġworking , ĠI Ġthink Ġbecause Ġof Ġa Ġbug Ġin Ġthe Ġbinary Ġpayload Ġhandling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġwill Ġcome Ġback Ġto Ġthis Ġlater ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserial iser Routes ( schema Registry , Ġmessage Envelope Options ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapi Routing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs noop Api Routes ( kafka Client Factory , Ġde serial iser ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserial iser Api Routes ( schema Registry ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ