Skip to content

Instantly share code, notes, and snippets.

@teivah
Created May 30, 2018 13:13
Show Gist options
  • Save teivah/7fdb1d23bea86fd4fa589266946ffcf9 to your computer and use it in GitHub Desktop.
Save teivah/7fdb1d23bea86fd4fa589266946ffcf9 to your computer and use it in GitHub Desktop.
public class Sample extends AbstractVerticle {
// Start method
@Override
public void start(Future<Void> startFuture) {
// Create a router object allowing to route HTTP request
final Router router = Router.router(vertx);
// Create a new get method listening on /hello resource with a parameter
router.route(HttpMethod.GET, "/hello/:name").handler(routingContext -> {
// Retrieving request and response objects
HttpServerRequest request = routingContext.request();
HttpServerResponse response = routingContext.response();
// Get the name parameter
String name = request.getParam("name");
// Manage output response
response.putHeader("Content-Type", "text/plain");
response.setChunked(true);
response.write("Hello " + name);
response.setStatusCode(200);
response.end();
});
// Create an HTTP server listening on port 8080
vertx.createHttpServer().requestHandler(router::accept).listen(8080, result -> {
if (result.succeeded()) {
// If the HTTP server is deployed, we consider the Verticle as
// correctly deployed
startFuture.complete();
} else {
// If not, we invoke the fail method
startFuture.fail(result.cause());
}
});
}
// Stop method
@Override
public void stop(Future<Void> stopFuture) throws Exception {
// Do something
stopFuture.complete();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment