Skip to content

Instantly share code, notes, and snippets.

@cacoco
Created February 4, 2023 04:13
Show Gist options
  • Save cacoco/fba99528917a17283d1f5f9c3d390585 to your computer and use it in GitHub Desktop.
Save cacoco/fba99528917a17283d1f5f9c3d390585 to your computer and use it in GitHub Desktop.
import com.twitter.finagle.{Http, ListeningServer, Service}
import com.twitter.finagle.http.{Status, Response, Request}
import com.twitter.server.TwitterServer
import com.twitter.util.{Await, Future}
class MyTwitterServer extends TwitterServer {
val defaultHttpPortValue: String = ":8888"
private val httpPortFlag =
flag("http.port", defaultHttpPortValue, "External HTTP server port")
private def responseString: String = "Hello, world!"
private val service = Service.mk[Request, Response] { request =>
val response =
Response(request.version, Status.Ok)
response.contentString = responseString
Future.value(response)
}
def main(): Unit = {
val server: ListeningServer = Http.server
.withLabel("http")
.serve(httpPortFlag(), service)
info(s"Serving on port ${httpPortFlag()}")
info(s"Serving admin interface on port ${adminPort()}")
onExit {
Await.result(server.close())
}
Await.ready(server)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment