Example usage for io.vertx.core.http HttpServerResponse setStatusCode

List of usage examples for io.vertx.core.http HttpServerResponse setStatusCode

Introduction

In this page you can find the example usage for io.vertx.core.http HttpServerResponse setStatusCode.

Prototype

@Fluent
HttpServerResponse setStatusCode(int statusCode);

Source Link

Document

Set the status code.

Usage

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");
        }
    });
}