package com.example.starter
import io.vertx.core.AbstractVerticle
import io.vertx.core.Promise
import io.vertx.ext.web.Router
import io.vertx.kotlin.core.json.json
import io.vertx.kotlin.core.json.obj
class MainVerticle : AbstractVerticle() {
override fun start(startPromise: Promise<Void>) {
val router = Router.router(vertx);
router.get("/api").handler { ctx ->
val address = ctx.request().remoteAddress().toString();
val params = ctx.request().params();
val query = ctx.request().query();
val queryParams = ctx.queryParams();
val name = queryParams.get("name") ?: "unknown";
ctx.json(
json {
obj(
"name" to name,
"address" to address
)
}
)
}
vertx
.createHttpServer()
.requestHandler(router)
.listen(8888)
.onSuccess{ server ->
println("Server is running on port: ${server.actualPort()}")
}
}
}