package be.simplenotes.app import org.eclipse.jetty.server.Server import org.eclipse.jetty.server.ServerConnector import org.http4k.routing.RoutingHttpHandler import org.http4k.server.ConnectorBuilder import org.http4k.server.Jetty import org.http4k.server.ServerConfig import org.http4k.server.asServer import org.slf4j.LoggerFactory import be.simplenotes.shared.config.ServerConfig as SimpleNotesServeConfig class Server( private val config: SimpleNotesServeConfig, private val serverConfig: ServerConfig, private val router: RoutingHttpHandler, ) { fun start() { router.asServer(serverConfig).start() LoggerFactory.getLogger(javaClass).info("Listening on http://${config.host}:${config.port}") } } fun serverConfig(config: SimpleNotesServeConfig): ServerConfig { val builder: ConnectorBuilder = { server: Server -> ServerConnector(server).apply { port = config.port host = config.host } } return Jetty(config.port, builder) }