Example usage for io.vertx.core MultiMap add

List of usage examples for io.vertx.core MultiMap add

Introduction

In this page you can find the example usage for io.vertx.core MultiMap add.

Prototype

@GenIgnore(GenIgnore.PERMITTED_TYPE)
@Fluent
MultiMap add(CharSequence name, Iterable<CharSequence> values);

Source Link

Document

Like #add(String,Iterable) but accepting CharSequence as parameters

Usage

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