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

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

Introduction

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

Prototype

@CacheReturn
MultiMap headers();

Source Link

Usage

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  ww w  .j av a2  s  .  co m
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.
 *//*  w w w  .j a  va2 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");
        }
    });
}

From source file:examples.HTTPExamples.java

License:Open Source License

public void example21(HttpServerRequest request) {
    HttpServerResponse response = request.response();
    MultiMap headers = response.headers();
    headers.set("content-type", "text/html");
    headers.set("other-header", "wibble");
}

From source file:gribbit.response.Response.java

License:Open Source License

protected void sendHeaders(RoutingContext routingContext, String contentType) {
    HttpServerRequest request = routingContext.request();
    HttpServerResponse response = request.response();
    MultiMap headers = response.headers();

    headers.add("Content-Type", contentType);

    if (customHeaders != null) {
        for (CustomHeader c : customHeaders) {
            headers.add(c.key, c.value);
        }/*  w  ww . java 2 s  .c o m*/
    }

    if (cookies != null) {
        for (DefaultCookie cookie : cookies.values()) {
            // If the request is over SSL, set the cookie to be only visible over SSL
            cookie.setSecure(request.isSSL());
            routingContext.addCookie(Cookie.cookie(cookie));
        }
    }

    if (logOut) {
        User.logOut(routingContext.session());
    }
}

From source file:io.apiman.gateway.platforms.vertx3.http.HttpApiFactory.java

License:Apache License

public static void buildResponse(HttpServerResponse httpServerResponse, ApiResponse amanResponse,
        HttpVersion httpVersion) {//from  w ww  .  jav  a2 s.  co  m
    amanResponse.getHeaders().forEach(e -> {
        if (httpVersion == HttpVersion.HTTP_1_0 || httpVersion == HttpVersion.HTTP_1_1
                || !e.getKey().equals("Connection")) {
            httpServerResponse.headers().add(e.getKey(), e.getValue());
        }
    });
    httpServerResponse.setStatusCode(amanResponse.getCode());
    httpServerResponse.setStatusMessage(amanResponse.getMessage());
}

From source file:io.apiman.gateway.platforms.vertx3.http.HttpPolicyAdapter.java

License:Apache License

private static void handleError(HttpServerResponse response, Throwable error) {
    response.setStatusCode(HttpResponseStatus.INTERNAL_SERVER_ERROR.code());
    response.setStatusMessage(HttpResponseStatus.INTERNAL_SERVER_ERROR.reasonPhrase());
    response.headers().add("X-Gateway-Error", String.valueOf(error.getMessage())); //$NON-NLS-1$
    response.headers().add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);

    EngineErrorResponse errorResponse = new EngineErrorResponse();
    errorResponse.setResponseCode(HttpResponseStatus.INTERNAL_SERVER_ERROR.code());
    errorResponse.setMessage(error.getMessage());
    errorResponse.setTrace(error);//from  w  ww.  j  av a2  s .  c  om
    response.setChunked(true);
    response.write(Json.encode(errorResponse));
    response.end();
}

From source file:io.apiman.gateway.platforms.vertx3.http.HttpPolicyAdapter.java

License:Apache License

private static void handlePolicyFailure(HttpServerResponse response, PolicyFailure failure) {
    response.headers().add("X-Policy-Failure-Type", String.valueOf(failure.getType())); //$NON-NLS-1$
    response.headers().add("X-Policy-Failure-Message", failure.getMessage()); //$NON-NLS-1$
    response.headers().add("X-Policy-Failure-Code", String.valueOf(failure.getFailureCode())); //$NON-NLS-1$
    response.headers().add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);

    int code = HttpResponseStatus.INTERNAL_SERVER_ERROR.code();

    switch (failure.getType()) {
    case Authentication:
        code = HttpResponseStatus.UNAUTHORIZED.code();
        break;/*from   w w w.j  a va 2s  .  c  o  m*/
    case Authorization:
        code = HttpResponseStatus.FORBIDDEN.code();
        break;
    case NotFound:
        code = HttpResponseStatus.NOT_FOUND.code();
        break;
    case Other:
        code = failure.getResponseCode();
        break;
    }

    response.setStatusCode(code);
    response.setStatusMessage(failure.getMessage());

    for (Map.Entry<String, String> entry : failure.getHeaders()) {
        response.headers().add(entry.getKey(), entry.getValue());
    }
    response.setChunked(true);
    response.end(Json.encode(failure));
}

From source file:io.apiman.gateway.platforms.vertx3.http.HttpServiceFactory.java

License:Apache License

public static void buildResponse(HttpServerResponse httpServerResponse, VertxServiceResponse amanResponse) {
    httpServerResponse.headers().addAll(amanResponse.getHeaders());
    httpServerResponse.setStatusCode(amanResponse.getCode());
    httpServerResponse.setStatusMessage(amanResponse.getMessage());
}

From source file:io.helixservice.feature.restservice.filter.FilterHandler.java

License:Open Source License

private Response<byte[]> buildResponse(RoutingContext routingContext) {
    HttpServerResponse vertxResponse = routingContext.response();

    Response<byte[]> response = Response.fromHttpStatusCode(vertxResponse.getStatusCode());
    for (Map.Entry<String, String> header : vertxResponse.headers()) {
        response.addHeader(header.getKey(), header.getValue());
    }//from www . j a v a  2  s  .c o  m

    return response;
}

From source file:io.nitor.api.backend.cache.CacheHandler.java

License:Apache License

private void serveCachedResponse(CacheEntry entry, RoutingContext ctx) {
    logger.debug("Returning cached content for {}", entry.uri);
    HttpServerResponse resp = ctx.response();
    resp.headers().setAll(entry.headers);
    if (ctx.request().method() != HEAD) {
        resp.sendFile(entry.file.toString());
    }//  w w w .j  a v a 2 s  . c o  m
}