List of usage examples for io.vertx.core.http HttpServerResponse setStatusCode
@Fluent
HttpServerResponse setStatusCode(int statusCode);
From source file:Console.java
private void sendError(int statusCode, HttpServerResponse response) { response.setStatusCode(statusCode).end(); }
From source file:com.baldmountain.depot.AbstractController.java
License:Open Source License
protected AbstractController redirectTo(RoutingContext context, String route) { HttpServerResponse response = context.response(); response.putHeader("location", route); response.setStatusCode(302); response.end();/* w ww . jav a 2 s.co m*/ return this; }
From source file:com.baldmountain.depot.DepotVerticle.java
License:Open Source License
@CodeTranslate @Override/* w w w .j av a2 s .com*/ public void start() throws Exception { JsonObject config = new JsonObject().put("db_name", "depot_development"); mongoService = MongoService.create(vertx, config); mongoService.start(); // Now do stuff with it: // mongoService.count("products", new JsonObject(), res -> { // // // ... // if (res.succeeded()) { // log.error("win: "+res.result()); // } else { // log.error("fail: "+res.cause().getMessage()); // } // }); final Router router = Router.router(vertx); // We need cookies, sessions and request bodies router.route().handler(CookieHandler.create()); router.route().handler(SessionHandler.create(LocalSessionStore.create(vertx))); router.route().handler(BodyHandler.create()); // Simple auth service which uses a properties file for user/role info // final AuthService authService = ShiroAuthService.create(vertx, // ShiroAuthRealmType.PROPERTIES, new JsonObject()); // Any requests to URI starting '/private/' require login // router.route("/private/*").handler( // RedirectAuthHandler.create(authService, "/loginpage.html")); // Serve the static private pages from directory 'private' // router.route("/private/*").handler( // StaticHandler.create().setCachingEnabled(false) // .setWebRoot("private")); // Handles the actual login // router.route("/loginhandler").handler( // FormLoginHandler.create(authService)); // Implement logout // router.route("/logout").handler(context -> { // context.session().logout(); // // Redirect back to the index page // context.response().putHeader("location", "/") // .setStatusCode(302).end(); // }); controllers.add(new StoreController(router, mongoService).setupRoutes()); controllers.add(new ProductsController(router, mongoService).setupRoutes()); controllers.add(new LineItemsController(router, mongoService).setupRoutes()); controllers.add(new CartsController(router, mongoService).setupRoutes()); router.route("/").handler(context -> { HttpServerResponse response = context.response(); response.putHeader("location", "/store"); response.setStatusCode(302); response.end(); }); // router.route("/").handler(context -> { // Product.all(mongoService, result -> { // if (result.succeeded()) { // log.info("product count: " + result.result().size()); // } else { // context.response().end("Hello world"); // } // }); // }); // Serve the non private static pages router.route().handler(StaticHandler.create()); vertx.createHttpServer().requestHandler(router::accept).listen(8080); }
From source file:com.cisco.ef.VertxMain.java
private Router createRouterAndVertxOnlyRoute() { final Router router = Router.router(getVertx()); //Vertx router router.route("/ui").handler(routingContext -> { HttpServerResponse response = routingContext.response(); response.setStatusCode(202); response.end("route1 this does not have very much data to transfer"); });/*from w w w .j av a 2 s .c om*/ return router; }
From source file:com.company.vertxstarter.MainVerticle.java
@Override public void start(Future<Void> fut) { // Create a router object. Router router = Router.router(vertx); //CORS handler router.route().handler(CorsHandler.create("*").allowedMethod(HttpMethod.GET).allowedMethod(HttpMethod.POST) .allowedMethod(HttpMethod.OPTIONS).allowedHeader("Content-Type").allowedHeader("Accept")); //default headers router.route().handler(ctx -> {/*from w w w . j a v a 2 s . c o m*/ ctx.response().putHeader("Cache-Control", "no-store, no-cache").putHeader("Content-Type", "application/json"); if (StringUtils.isEmpty(ctx.request().getHeader("Accept"))) { ctx.fail(Failure.NO_MEDIA_TYPE); return; } else if (!"application/json".equalsIgnoreCase(ctx.request().getHeader("Accept"))) { ctx.fail(Failure.UNSUPPORTED_MEDIA_TYPE); return; } ctx.next(); }); //error handling router.route().failureHandler(ctx -> { HttpServerResponse response = ctx.response(); final JsonObject error = new JsonObject(); Failure ex; if (ctx.failure() instanceof Failure) { //specific error ex = (Failure) ctx.failure(); } else { //general error ctx.failure().printStackTrace(); ex = Failure.INTERNAL_ERROR; } error.put("message", ex.getMessage()); response.setStatusCode(ex.getCode()).end(error.encode()); }); //default 404 handling router.route().last().handler(ctx -> { HttpServerResponse response = ctx.response(); final JsonObject error = new JsonObject(); error.put("message", Failure.NOT_FOUND.getMessage()); response.setStatusCode(404).end(error.encode()); }); //routes Injector injector = Guice.createInjector(new AppInjector()); router.route(HttpMethod.GET, "/people").handler(injector.getInstance(PersonResource.class)::get); // Create the HTTP server and pass the "accept" method to the request handler. HttpServerOptions serverOptions = new HttpServerOptions(); serverOptions.setCompressionSupported(true); vertx.createHttpServer(serverOptions).requestHandler(router::accept) .listen(config().getInteger("http.port", 8080), result -> { if (result.succeeded()) { fut.complete(); } else { fut.fail(result.cause()); } }); }
From source file:com.dinstone.vertx.web.core.DefaultExceptionHandler.java
License:Apache License
@Override public void handle(Throwable t, RoutingContext context) { Map<String, Object> res = new LinkedHashMap<>(); if (t == null) { res.put("code", "503"); res.put("message", "The service is unavailable"); } else {//from www . j av a 2 s . com res.put("code", "500"); res.put("message", t.getClass().getName() + ": " + t.getMessage()); } HttpServerResponse response = context.response(); response.setStatusCode(500).end(Json.encodeToBuffer(res)); }
From source file:com.englishtown.vertx.jersey.impl.VertxResponseWriter.java
License:Open Source License
/** * {@inheritDoc}//from w w w .j ava 2 s . c o m */ @Override public OutputStream writeResponseStatusAndHeaders(long contentLength, ContainerResponse responseContext) throws ContainerException { jerseyResponse = responseContext; HttpServerResponse response = vertxRequest.response(); // Write the status response.setStatusCode(responseContext.getStatus()); response.setStatusMessage(responseContext.getStatusInfo().getReasonPhrase()); // Set the content length header if (contentLength != -1) { response.putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(contentLength)); } for (final Map.Entry<String, List<String>> e : responseContext.getStringHeaders().entrySet()) { for (final String value : e.getValue()) { response.putHeader(e.getKey(), value); } } // Run any response processors if (!responseProcessors.isEmpty()) { for (VertxResponseProcessor processor : responseProcessors) { processor.process(response, responseContext); } } // Return output stream based on whether entity is chunked if (responseContext.isChunked()) { response.setChunked(true); return new VertxChunkedOutputStream(response); } else if (responseContext.hasEntity() && WriteStreamOutput.class.isAssignableFrom(responseContext.getEntityClass())) { WriteStreamOutput writeStreamOutput = (WriteStreamOutput) responseContext.getEntity(); writeStreamOutput.init(response, event -> end()); isWriteStream = true; return new NOPOutputStream(); } else { return new VertxOutputStream(response); } }
From source file:com.englishtown.vertx.jersey.impl.VertxResponseWriter.java
License:Open Source License
/** * {@inheritDoc}//w w w. j a va2 s. co m */ @Override public void failure(Throwable error) { logger.error(error.getMessage(), error); HttpServerResponse response = vertxRequest.response(); // Set error status and end Response.Status status = Response.Status.INTERNAL_SERVER_ERROR; response.setStatusCode(status.getStatusCode()); response.setStatusMessage(status.getReasonPhrase()); response.end(); }
From source file:com.glencoesoftware.omero.ms.thumbnail.ThumbnailMicroserviceVerticle.java
License:Open Source License
/** * Render thumbnail event handler. Responds with a <code>image/jpeg</code> * body on success based on the <code>longestSide</code> and * <code>imageId</code> encoded in the URL or HTTP 404 if the {@link Image} * does not exist or the user does not have permissions to access it. * @param event Current routing context. *//*from www . j a va 2 s .c om*/ private void renderThumbnail(RoutingContext event) { final HttpServerRequest request = event.request(); final HttpServerResponse response = event.response(); final Map<String, Object> data = new HashMap<String, Object>(); data.put("longestSide", Optional.ofNullable(request.getParam("longestSide")).map(Integer::parseInt).orElse(96)); data.put("imageId", Long.parseLong(request.getParam("imageId"))); data.put("omeroSessionKey", event.get("omero.session_key")); data.put("renderingDefId", Optional.ofNullable(request.getParam("rdefId")).map(Long::parseLong).orElse(null)); vertx.eventBus().<byte[]>send(ThumbnailVerticle.RENDER_THUMBNAIL_EVENT, Json.encode(data), result -> { try { if (result.failed()) { Throwable t = result.cause(); int statusCode = 404; if (t instanceof ReplyException) { statusCode = ((ReplyException) t).failureCode(); } response.setStatusCode(statusCode); return; } byte[] thumbnail = result.result().body(); response.headers().set("Content-Type", "image/jpeg"); response.headers().set("Content-Length", String.valueOf(thumbnail.length)); response.write(Buffer.buffer(thumbnail)); } finally { response.end(); log.debug("Response ended"); } }); }
From source file:com.glencoesoftware.omero.ms.thumbnail.ThumbnailMicroserviceVerticle.java
License:Open Source License
/** * Get thumbnails event handler. Responds with a JSON dictionary of Base64 * encoded <code>image/jpeg</code> thumbnails keyed by {@link Image} * identifier. Each dictionary value is prefixed with * <code>data:image/jpeg;base64,</code> so that it can be used with * <a href="http://caniuse.com/#feat=datauri">data URIs</a>. * @param event Current routing context. *//*from w w w . jav a2 s.c o m*/ private void getThumbnails(RoutingContext event) { final HttpServerRequest request = event.request(); final HttpServerResponse response = event.response(); final Map<String, Object> data = new HashMap<String, Object>(); final String callback = request.getParam("callback"); data.put("longestSide", Optional.ofNullable(request.getParam("longestSide")).map(Integer::parseInt).orElse(96)); data.put("imageIds", request.params().getAll("id").stream().map(Long::parseLong).collect(Collectors.toList()).toArray()); data.put("omeroSessionKey", event.get("omero.session_key")); vertx.eventBus().<String>send(ThumbnailVerticle.GET_THUMBNAILS_EVENT, Json.encode(data), result -> { try { if (result.failed()) { Throwable t = result.cause(); int statusCode = 404; if (t instanceof ReplyException) { statusCode = ((ReplyException) t).failureCode(); } response.setStatusCode(statusCode); return; } String json = result.result().body(); String contentType = "application/json"; if (callback != null) { json = String.format("%s(%s);", callback, json); contentType = "application/javascript"; } response.headers().set("Content-Type", contentType); response.headers().set("Content-Length", String.valueOf(json.length())); response.write(json); } finally { response.end(); log.debug("Response ended"); } }); }