private void sendError(int statusCode, HttpServerResponse response) { response.setStatusCode(statusCode).end(); }
@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); } }
ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end(jwt.generateToken(new JsonObject(), new JWTOptions().setExpiresInSeconds(60).setPermissions (authorities))); }); ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is not defcon!"); }); ctx.response().setStatusCode(403).end(); return; ctx.response().putHeader("Content-Type", "text/plain"); ctx.response().end("this secret is defcon1!"); }); ctx.response().setStatusCode(403).end(); return; ctx.response().setStatusCode(403).end(); return;
@Test public void testFollowRedirectPropagatesTimeout() throws Exception { AtomicInteger redirections = new AtomicInteger(); server.requestHandler(req -> { switch (redirections.getAndIncrement()) { case 0: String scheme = createBaseServerOptions().isSsl() ? "https" : "http"; req.response().setStatusCode(307).putHeader(HttpHeaders.LOCATION, scheme + "://localhost:8080/whatever").end(); break; } }); startServer(); AtomicBoolean done = new AtomicBoolean(); client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/somepath", onFailure(t -> { if (done.compareAndSet(false, true)) { assertEquals(2, redirections.get()); testComplete(); } })).setFollowRedirects(true) .setTimeout(500).end(); await(); }
routingContext.response().setStatusMessage("OK").end(); }); if (failure instanceof ValidationException) routingContext.response() .setStatusCode(400) .setStatusMessage("ValidationException thrown! " + ((ValidationException) failure).type().name()) .end(); });
ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "text/html").end(res.result()); } else { ctx.fail(res.cause()); ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "application/json"); ctx.response().end(json.encode()); }); }); ctx.response().setStatusCode(201); ctx.response().end(); }); }); ctx.response().setStatusCode(204); ctx.response().end(); });
.setStatusCode(302) .putHeader("location", location.toString()) .end(); break; case "/redirected/from/client": assertEquals(value2, req.params().get("encoded2")); assertEquals(value3, req.params().get("encoded3")); req.response().end(); break; default:
private void sendError(int statusCode, HttpServerResponse response) { response.setStatusCode(statusCode).end(); }
routingContext.response().setStatusCode(400).end();
ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "application/json"); ctx.response().end(json.encode()); }); }); ctx.fail(404); } else { ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "application/json"); ctx.response().end(user.encode()); ctx.response().putHeader(HttpHeaders.CONTENT_TYPE, "application/json"); ctx.response().end(newUser.encode()); }); ctx.response().setStatusCode(204); ctx.response().end(); });
String expected = "Basic " + Base64.getEncoder().encodeToString((username + ":" + username).getBytes()); if (auth == null || !auth.equals(expected)) { request.response().setStatusCode(407).end("proxy authentication failed"); return; request.response().setStatusCode(error).end("proxy request failed"); } else if (method == HttpMethod.CONNECT) { if (!uri.contains(":")) { request.response().setStatusCode(403).end("invalid request"); } else { lastUri = uri; request.response().setStatusCode(403).end("access to port denied"); return; Pump.pump(clientSocket, serverSocket).start(); } else { request.response().setStatusCode(403).end("request failed"); HttpClientResponse resp = ar.result(); for (String name : resp.headers().names()) { request.response().putHeader(name, resp.headers().getAll(name)); status = 400; request.response().setStatusCode(status).end(e.toString() + " on client request"); request.response().setStatusCode(405).end("method not supported");
private void sendError(int statusCode, HttpServerResponse response) { response.setStatusCode(statusCode).end(); }
protected void forbidden(RoutingContext ctx) { final int statusCode = 403; if (responseBody != null) { ctx.response() .setStatusCode(statusCode) .end(responseBody); } else { ctx.fail(statusCode); } }
context.clearUser(); context.response().putHeader("location", "/").setStatusCode(302).end(); });
@Test public void testFollowRedirectLimit() throws Exception { AtomicInteger redirects = new AtomicInteger(); server.requestHandler(req -> { int val = redirects.incrementAndGet(); if (val > 16) { fail(); } else { String scheme = createBaseServerOptions().isSsl() ? "https" : "http"; req.response().setStatusCode(301).putHeader(HttpHeaders.LOCATION, scheme + "://localhost:8080/otherpath").end(); } }); startServer(); client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/somepath", onSuccess(resp -> { assertEquals(16, redirects.get()); assertEquals(301, resp.statusCode()); assertEquals("/otherpath", resp.request().path()); testComplete(); })).setFollowRedirects(true).end(); await(); }
private void invoke(HttpServerRequest request) { String param = request.getParam("name"); if (param == null) { param = "vert.x"; } vertx.eventBus().<String>send("invocation", param, reply -> { if (reply.failed()) { request.response().setStatusCode(400).end(reply.cause().getMessage()); } else { request.response().setStatusCode(400).end(reply.result().body()); } }); } }
protected boolean checkContentType(RoutingContext context) { String contentType = context.request().getHeader(HttpHeaders.CONTENT_TYPE); if (contentTypeSupported(contentType)) { return true; } Status status = Status.UNSUPPORTED_MEDIA_TYPE; context.response().setStatusCode(status.getStatusCode()).setStatusMessage(status.getReasonPhrase()); context.response().end(String.format("Content-Type %s is not supported", contentType)); return false; }
context.clearUser(); context.response().putHeader("location", "/").setStatusCode(302).end(); });
private void testFollowRedirectWithBody(Function<Buffer, Buffer> translator) throws Exception { Buffer expected = TestUtils.randomBuffer(2048); AtomicBoolean redirected = new AtomicBoolean(); server.requestHandler(req -> { if (redirected.compareAndSet(false, true)) { assertEquals(HttpMethod.PUT, req.method()); req.bodyHandler(body -> { assertEquals(body, expected); String scheme = createBaseServerOptions().isSsl() ? "https" : "http"; req.response().setStatusCode(303).putHeader(HttpHeaders.LOCATION, scheme + "://localhost:8080/whatever").end(); }); } else { assertEquals(HttpMethod.GET, req.method()); req.response().end(); } }); startServer(); client.put(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/somepath", onSuccess(resp -> { assertEquals(200, resp.statusCode()); testComplete(); })).setFollowRedirects(true).end(translator.apply(expected)); await(); }
@Override public void start(Future<Void> startFuture) throws Exception { vertx.createHttpServer().requestHandler(request -> { String name = request.getParam("name"); LOG.info("Got request for name: " + name); if (name == null) { request.response().setStatusCode(400).end("Missing name"); } else { // It's fine to call the greeter from the event loop as it's not blocking request.response().end(greeter.sayHello(name)); } }).listen(8080, ar -> { if (ar.succeeded()) { LOG.info("GreetingVerticle started: @" + this.hashCode()); startFuture.complete(); } else { startFuture.fail(ar.cause()); } }); } }