List of usage examples for io.vertx.core MultiMap add
@GenIgnore(GenIgnore.PERMITTED_TYPE) @Fluent MultiMap add(CharSequence name, Iterable<CharSequence> values);
From source file:com.hubrick.vertx.s3.client.S3Client.java
License:Apache License
private MultiMap populateDeleteObjectHeaders(DeleteObjectRequest deleteObjectRequest) { final MultiMap headers = MultiMap.caseInsensitiveMultiMap(); if (StringUtils.trimToNull(deleteObjectRequest.getAmzMfa()) != null) { headers.add(Headers.X_AMZ_MFA, StringUtils.trim(deleteObjectRequest.getAmzMfa())); }// w w w . ja v a2 s. c o m return headers; }
From source file:com.hubrick.vertx.s3.client.S3Client.java
License:Apache License
private void populateGetResponseHeaders(MultiMap headers, GetObjectResponseHeaders getResponseHeaders) { populateCommonResponseHeaders(headers, getResponseHeaders); populateServerSideEncryptionResponseHeaders(headers, getResponseHeaders); getResponseHeaders.setAmzExpiration(Optional.ofNullable(headers.get(Headers.X_AMZ_EXPIRATION)) .filter(StringUtils::isNotBlank).orElse(null)); getResponseHeaders// ww w.jav a 2 s . c o m .setAmzReplicationStatus(Optional.ofNullable(headers.get(Headers.X_AMZ_REPLICATION_STATUS)) .filter(StringUtils::isNotBlank).map(ReplicationStatus::valueOf).orElse(null)); getResponseHeaders.setAmzRestore(Optional.ofNullable(headers.get(Headers.X_AMZ_RESTORE)) .filter(StringUtils::isNotBlank).orElse(null)); getResponseHeaders.setAmzStorageClass(Optional.ofNullable(headers.get(Headers.X_AMZ_STORAGE_CLASS)) .filter(StringUtils::isNotBlank).map(StorageClass::fromString).orElse(null)); getResponseHeaders.setAmzTaggingCount(Optional.ofNullable(headers.get(Headers.X_AMZ_TAGGING_COUNT)) .filter(StringUtils::isNotBlank).map(Integer::valueOf).orElse(null)); getResponseHeaders.setAmzWebsiteRedirectLocation( Optional.ofNullable(headers.get(Headers.X_AMZ_WEBSITE_REDIRECT_LOCATION)) .filter(StringUtils::isNotBlank).orElse(null)); final MultiMap amzMeta = MultiMap.caseInsensitiveMultiMap(); StreamSupport.stream(headers.spliterator(), true) .filter(header -> header.getKey().toLowerCase().startsWith(Headers.X_AMZ_META_PREFIX)) .forEach(header -> amzMeta.add(header.getKey().replaceFirst(Headers.X_AMZ_META_PREFIX, ""), header.getValue())); getResponseHeaders.setAmzMeta(amzMeta); }
From source file:com.hubrick.vertx.s3.client.S3Client.java
License:Apache License
private void populateHeadResponseHeaders(MultiMap headers, HeadObjectResponseHeaders headResponseHeaders) { populateCommonResponseHeaders(headers, headResponseHeaders); populateServerSideEncryptionResponseHeaders(headers, headResponseHeaders); headResponseHeaders.setAmzExpiration(Optional.ofNullable(headers.get(Headers.X_AMZ_EXPIRATION)) .filter(StringUtils::isNotBlank).orElse(null)); headResponseHeaders.setAmzMissingMeta(Optional.ofNullable(headers.get(Headers.X_AMZ_MISSING_META)) .filter(StringUtils::isNotBlank).orElse(null)); headResponseHeaders/* w w w . j ava 2 s. c o m*/ .setAmzReplicationStatus(Optional.ofNullable(headers.get(Headers.X_AMZ_REPLICATION_STATUS)) .filter(StringUtils::isNotBlank).map(ReplicationStatus::valueOf).orElse(null)); headResponseHeaders.setAmzRestore(Optional.ofNullable(headers.get(Headers.X_AMZ_RESTORE)) .filter(StringUtils::isNotBlank).orElse(null)); headResponseHeaders.setAmzStorageClass(Optional.ofNullable(headers.get(Headers.X_AMZ_STORAGE_CLASS)) .filter(StringUtils::isNotBlank).map(StorageClass::fromString).orElse(null)); final MultiMap amzMeta = MultiMap.caseInsensitiveMultiMap(); StreamSupport.stream(headers.spliterator(), true) .filter(header -> header.getKey().toLowerCase().startsWith(Headers.X_AMZ_META_PREFIX)) .forEach(header -> amzMeta.add(header.getKey().replaceFirst(Headers.X_AMZ_META_PREFIX, ""), header.getValue())); headResponseHeaders.setAmzMeta(amzMeta); }
From source file:de.braintags.netrelay.controller.api.MailController.java
License:Open Source License
private static MailAttachment createAttachment(RoutingContext context, URI uri, String cidName) { UriMailAttachment attachment = new UriMailAttachment(uri); attachment.setName(cidName);//w w w .ja v a 2 s . co m attachment.setContentType(getContentType(uri)); attachment.setDisposition("inline"); MultiMap headers = MultiMap.caseInsensitiveMultiMap(); headers.add("Content-ID", "<" + cidName + ">"); attachment.setHeaders(headers); return attachment; }
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 w w .j a v a 2s . co 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.connector.HttpConnector.java
License:Apache License
private void addMandatoryRequestHeaders(MultiMap headers) { String port = apiEndpoint.getPort() == -1 ? "" : ":" + apiEndpoint.getPort(); headers.add("Host", apiEndpoint.getHost() + port); }
From source file:io.nitor.api.backend.msgraph.GraphQueryHandler.java
License:Apache License
private void mapResponse(HttpClientResponse cres, HttpServerResponse sres, String clientRequestId) { cres.exceptionHandler(t -> {/*from w w w .jav a 2 s . co m*/ logger.error("Error processing graph request [" + clientRequestId + "]", t); if (!sres.ended()) { sres.setStatusCode(BAD_GATEWAY.code()); sres.end(); } }); // TODO Together with the client-request-id always log the request-id, timestamp and x-ms-ags-diagnostic from the HTTP response headers sres.setStatusCode(cres.statusCode()); sres.setStatusMessage(cres.statusMessage()); MultiMap headers = sres.headers(); cres.headers().forEach(entry -> { String key = entry.getKey(); String lKey = key.toLowerCase(); if ("server".equals(lKey) || "accept-ranges".equals(lKey) || "transfer-encoding".equals(lKey) || "date".equals(lKey) || "connection".equals(lKey)) { return; } headers.add(key, entry.getValue()); }); if (!headers.contains("content-length")) { sres.setChunked(true); } Pump resPump = Pump.pump(cres, sres); cres.endHandler(v -> { if (!sres.ended()) sres.end(); }); resPump.start(); }
From source file:io.nitor.api.backend.proxy.Proxy.java
License:Apache License
static void copyEndToEndHeaders(MultiMap from, MultiMap to) { for (Map.Entry<String, String> entry : from.entries()) { if (!hopByHopHeaders.contains(entry.getKey())) { to.add(entry.getKey(), entry.getValue()); }// w w w. j a v a2s . c om } String connectionHeader = from.get("connection"); if (connectionHeader != null) { for (String name : connectionHeaderValueRE.split(connectionHeader.trim())) { to.remove(name); } } }
From source file:io.nitor.api.backend.s3.S3Handler.java
License:Apache License
private void mapResponse(HttpClientResponse cres, HttpServerResponse sres) { cres.exceptionHandler(t -> {/*from ww w. jav a 2 s . c om*/ logger.error("Error processing s3 request", t); if (!sres.ended()) { sres.setStatusCode(502); sres.end(); } }); sres.setStatusCode(cres.statusCode()); sres.setStatusMessage(cres.statusMessage()); if (cres.statusCode() != 200 && cres.statusCode() != 206) { sres.end(); return; } MultiMap headers = sres.headers(); cres.headers().forEach(entry -> { String key = entry.getKey(); if (key.startsWith("x-amz-")) { return; } String lKey = key.toLowerCase(); if ("server".equals(lKey) || "accept-ranges".equals(lKey) || "transfer-encoding".equals(lKey) || "date".equals(lKey) || "connection".equals(lKey)) { return; } headers.add(key, entry.getValue()); }); // TODO handle http 1.0 that requires connection header Pump resPump = Pump.pump(cres, sres); cres.endHandler(v -> sres.end()); resPump.start(); }
From source file:net.kuujo.vertigo.instance.impl.ControlledOutputConnection.java
License:Apache License
/** * Sends a message./*w w w. j ava2 s. co m*/ */ protected OutputConnection<T> doSend(Object message, MultiMap headers, Handler<AsyncResult<Void>> ackHandler) { if (!paused) { // Generate a unique ID and monotonically increasing index for the message. String id = UUID.randomUUID().toString(); long index = currentMessage++; /* Commented out tracking of ackHandlers. Presumably these need to be kept around so new handlers can be created if messages are resent. // if (ackHandler != null) { // ackHandlers.put(index, ackHandler); // } */ // Set up the message headers. DeliveryOptions options = new DeliveryOptions(); if (headers == null) { headers = new CaseInsensitiveHeaders(); } headers.add(ACTION_HEADER, MESSAGE_ACTION).add(ID_HEADER, id).add(INDEX_HEADER, String.valueOf(index)) .add(PORT_HEADER, context.target().port()).add(SOURCE_HEADER, context.target().address()) // TODO: header is called source, but takes the address... .add(ID_HEADER, id).add(INDEX_HEADER, String.valueOf(index)); options.setHeaders(headers); if (context.sendTimeout() > 0) { options.setSendTimeout(context.sendTimeout()); } if (log.isDebugEnabled()) { log.debug("{} - Send: Message[name={}, message={}]", this, id, message); } if (ackHandler != null) { eventBus.send(context.target().address(), message, options, r -> { if (r.succeeded()) { ackHandler.handle(Future.<Void>succeededFuture()); } else { ackHandler.handle(Future.<Void>failedFuture(r.cause())); } }); } else { eventBus.send(context.target().address(), message, options); } checkFull(); } return this; }