public static void main(String[] args) { Vertx vertx = Vertx.vertx(); Router router = Router.router(vertx); router.get("/").handler(rc -> rc.response().end("Hello")); router.get("/:name").handler(rc -> rc.response().end("Hello " + rc.pathParam("name"))); vertx.createHttpServer() .requestHandler(router) .listen(8080); } }
final Router router = Router.router(vertx); router.route().handler(BodyHandler.create()); router.get("/").handler(ctx -> { ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "text/html").end(res.result()); } else { ctx.fail(res.cause()); router.get("/users").handler(ctx -> { ctx.fail(lookup.cause()); return; ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "application/json"); ctx.response().end(json.encode()); router.post("/users").handler(ctx -> { router.delete("/users/:id").handler(ctx -> { mongo.removeOne("users", new JsonObject().put("_id", ctx.request().getParam("id")), lookup -> { router.route().handler(StaticHandler.create());
@Override public void start() { setUpInitialData(); Router router = Router.router(vertx); router.route().handler(BodyHandler.create()); router.get("/products/:productID").handler(this::handleGetProduct); router.put("/products/:productID").handler(this::handleAddProduct); router.get("/products").handler(this::handleListProducts); vertx.createHttpServer().requestHandler(router).listen(8080); }
@Test public void testAcceptDotisAnyCharacter2() throws Exception { router.route().handler(CorsHandler.create("vertx.io")); // dot matches any character - watch out! router.route().handler(context -> context.response().end()); testRequest(HttpMethod.GET, "/", req -> req.headers().add("origin", "vertx.io"), resp -> checkHeaders(resp, "vertx.io", null, null, null), 200, "OK", null); }
@Test public void testPattern6() throws Exception { router.route("/blah/:abc/:def/:ghi/blah").handler(rc -> { MultiMap params = rc.request().params(); rc.response().setStatusMessage(params.get("abc") + params.get("def") + params.get("ghi")).end(); }); testPattern("/blah/tim/julien/nick/blah", "timjuliennick"); }
@Override public void start() throws Exception { Router router = Router.router(vertx); allowedMethods.add(HttpMethod.PUT); router.route().handler(CorsHandler.create("*").allowedHeaders(allowedHeaders).allowedMethods(allowedMethods)); router.get("/access-control-with-get").handler(ctx -> { HttpServerResponse httpServerResponse = ctx.response(); httpServerResponse.setChunked(true); MultiMap headers = ctx.request().headers(); for (String key : headers.names()) { httpServerResponse.write(key + ": "); httpServerResponse.write(headers.get(key)); httpServerResponse.write("<br>"); }); router.post("/access-control-with-post-preflight").handler(ctx -> { HttpServerResponse httpServerResponse = ctx.response(); httpServerResponse.setChunked(true); MultiMap headers = ctx.request().headers(); for (String key : headers.names()) { httpServerResponse.write(key + ": "); httpServerResponse.write(headers.get(key)); router.route().handler(StaticHandler.create());
@Override public void start() throws Exception { Router router = Router.router(vertx); router.get("/api/newToken").handler(ctx -> { List<String> authorities = new ArrayList<>(); router.route("/api/protected*").handler(JWTAuthHandler.create(jwt)); router.get("/api/protected").handler(ctx -> { router.get("/api/protected/defcon1").handler(ctx -> { ctx.user().isAuthorised("defcon1", allowed -> { }); router.get("/api/protected/defcon2").handler(ctx -> { ctx.user().isAuthorised("defcon2", allowed -> { }); router.get("/api/protected/defcon3").handler(ctx -> { ctx.user().isAuthorised("defcon3", allowed -> { router.route().handler(StaticHandler.create());
@Test public void testPost() throws Exception { router.post().handler(rc -> rc.response().setStatusMessage("foo").end()); testRequest(HttpMethod.POST, "/whatever", 200, "foo"); testRequest(HttpMethod.GET, "/whatever", 404, "Not Found"); testRequest(HttpMethod.PUT, "/whatever", 404, "Not Found"); testRequest(HttpMethod.DELETE, "/whatever", 404, "Not Found"); testRequest(HttpMethod.OPTIONS, "/whatever", 404, "Not Found"); testRequest(HttpMethod.HEAD, "/whatever", 404, "Not Found"); }
@Override public void start() throws Exception { Router router = Router.router(vertx); router.route().handler(CookieHandler.create()); router.route().handler(BodyHandler.create()); router.route().handler(SessionHandler.create(LocalSessionStore.create(vertx))); router.route().handler(UserSessionHandler.create(authProvider)); router.route("/private/*").handler(RedirectAuthHandler.create(authProvider, "/loginpage.html")); router.route("/private/*").handler(StaticHandler.create().setCachingEnabled(false).setWebRoot("private")); router.route("/loginhandler").handler(FormLoginHandler.create(authProvider)); router.route("/logout").handler(context -> { context.clearUser(); context.response().putHeader("location", "/").setStatusCode(302).end(); }); router.route().handler(StaticHandler.create());
@Test public void testDelete() throws Exception { router.delete().handler(rc -> rc.response().setStatusMessage("foo").end()); testRequest(HttpMethod.DELETE, "/whatever", 200, "foo"); testRequest(HttpMethod.GET, "/whatever", 404, "Not Found"); testRequest(HttpMethod.POST, "/whatever", 404, "Not Found"); testRequest(HttpMethod.PUT, "/whatever", 404, "Not Found"); testRequest(HttpMethod.OPTIONS, "/whatever", 404, "Not Found"); testRequest(HttpMethod.HEAD, "/whatever", 404, "Not Found"); }
@Test public void testPut() throws Exception { router.put().handler(rc -> rc.response().setStatusMessage("foo").end()); testRequest(HttpMethod.PUT, "/whatever", 200, "foo"); testRequest(HttpMethod.GET, "/whatever", 404, "Not Found"); testRequest(HttpMethod.POST, "/whatever", 404, "Not Found"); testRequest(HttpMethod.DELETE, "/whatever", 404, "Not Found"); testRequest(HttpMethod.OPTIONS, "/whatever", 404, "Not Found"); testRequest(HttpMethod.HEAD, "/whatever", 404, "Not Found"); }
Router router = Router.router(vertx); router.get("/api/newToken").handler(ctx -> { router.route("/api/protected").handler(JWTAuthHandler.create(jwt)); router.get("/api/protected").handler(ctx -> { ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is not defcon!"); }); router.route("/api/protected/defcon1").handler(JWTAuthHandler.create(jwt).addAuthority("defcon1")); router.get("/api/protected/defcon1").handler(ctx -> { ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is defcon1!"); router.route("/api/protected/defcon2").handler(JWTAuthHandler.create(jwt).addAuthority("defcon2")); router.get("/api/protected/defcon2").handler(ctx -> { ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is defcon2!"); router.route("/api/protected/defcon3").handler(JWTAuthHandler.create(jwt).addAuthority("defcon3")); router.get("/api/protected/defcon3").handler(ctx -> { ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is defcon3!");
@Override public void start() throws Exception { Router router = Router.router(vertx); router.route().handler(BodyHandler.create()); router.route("/").handler(routingContext -> { routingContext.response().putHeader("content-type", "text/html").end( "<form action=\"/form\" method=\"post\">\n" + " <div>\n" + router.post("/form").handler(ctx -> { ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "text/plain"); ctx.response().end("Hello " + ctx.request().getParam("name") + "!"); });
@Override public void start() throws Exception { Router router = Router.router(vertx); router.route().handler(BodyHandler.create().setUploadsDirectory("uploads")); router.route("/").handler(routingContext -> { routingContext.response().putHeader("content-type", "text/html").end( "<form action=\"/form\" method=\"post\" enctype=\"multipart/form-data\">\n" + " <div>\n" + router.post("/form").handler(ctx -> { ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().setChunked(true); for (FileUpload f : ctx.fileUploads()) {
@Override public void start() throws Exception { Router router = Router.router(vertx); router.route().blockingHandler(routingContext -> { // Blocking handlers are allowed to block the calling thread // So let's simulate a blocking action or long running operation try { Thread.sleep(5000); } catch (Exception ignore) { } // Now call the next handler routingContext.next(); }, false); router.route().handler(routingContext -> { routingContext.response().putHeader("content-type", "text/html").end("Hello World!"); }); vertx.createHttpServer().requestHandler(router).listen(8080); } }
@Override public void start() { Router router = Router.router(vertx); router.get("/").handler(rc -> { String param = rc.request().getParam("name"); if (param == null) { param = "world"; } vertx.eventBus().<String>send("request", param, reply -> { if (reply.failed()) { rc.response().setStatusCode(400).end(reply.cause().getMessage()); } else { String content = reply.result().body(); rc.response().end(content); } }); }); vertx.createHttpServer() .requestHandler(router) .listen(8080); } }
@Override public void start() throws Exception { Router router = Router.router(vertx); router.route().handler(BodyHandler.create()); .addPathParam("pathParam", ParameterType.FLOAT); router.post("/hello/:pathParam") .handler(validationHandler) .handler((routingContext) -> { RequestParameters params = routingContext.get("parsedParameters"); .failureHandler((routingContext) -> { Throwable failure = routingContext.failure(); if (failure instanceof ValidationException) { routingContext.response().setStatusCode(400).end(); router.post("/jsonUploader") .handler(HTTPRequestValidationHandler.create().addJsonBodySchema("{type: string}")) .handler((routingContext -> { router.get("/superAwesomeParameter") .handler(HTTPRequestValidationHandler.create()
vertx.eventBus().consumer("vtoons.placeOrder", this::placeOrder); Router router = Router.router(vertx); router.route().handler(CookieHandler.create()); router.route().handler(BodyHandler.create()); router.route().handler(SessionHandler.create(LocalSessionStore.create(vertx))); router.route().handler(UserSessionHandler.create(authProvider)); router.post("/login").handler(ctx -> { JsonObject credentials = ctx.getBodyAsJson(); if (credentials == null) { ctx.fail(400); return; ctx.fail(403); return; router.route("/eventbus/*").handler(ctx -> { if (ctx.user() == null) { router.route("/eventbus/*").handler(SockJSHandler.create(vertx).bridge(options)); router.route().handler(StaticHandler.create());
final Router router = Router.router(vertx); router.route().handler(CookieHandler.create()); router.route().handler(SessionHandler.create(LocalSessionStore.create(vertx))); router.route().handler(UserSessionHandler.create(authProvider)); router.route("/protected").handler( OAuth2AuthHandler.create(authProvider) .setupCallback(router.route("/callback")) router.get("/").handler(ctx -> { ctx.response() .putHeader("Content-Type", "text/html") .end(res.result()); } else { ctx.fail(res.cause()); router.get("/protected").handler(ctx -> { AccessToken user = (AccessToken) ctx.user(); if (res3.succeeded()) { ctx.response() .putHeader("Content-Type", "text/html") .end(res3.result()); } else {