List of usage examples for io.vertx.core.http HttpServerResponse headers
@CacheReturn MultiMap headers();
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 }