Example usage for io.vertx.core MultiMap caseInsensitiveMultiMap

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

Introduction

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

Prototype

static MultiMap caseInsensitiveMultiMap() 

Source Link

Document

Create a multi-map implementation with case insensitive keys, for instance it can be used to hold some HTTP headers.

Usage

From source file:com.dinstone.vertx.web.converter.FormMessageConverter.java

License:Apache License

@Override
public MultiMap read(Class<? extends MultiMap> clazz, RoutingContext context) throws Exception {
    String charset = null;/*from   w  ww. j  a  v  a 2  s  . c  o m*/
    String contentType = context.request().getHeader("Content-Type");
    if (contentType != null) {
        charset = MediaType.parse(contentType).charset(defaultCharset);
    }

    String body = context.getBodyAsString(charset);
    String[] pairs = body.split("&");
    MultiMap result = MultiMap.caseInsensitiveMultiMap();
    for (String pair : pairs) {
        int idx = pair.indexOf('=');
        if (idx == -1) {
            result.add(URLDecoder.decode(pair, charset), (String) null);
        } else {
            String name = URLDecoder.decode(pair.substring(0, idx), charset);
            String value = URLDecoder.decode(pair.substring(idx + 1), charset);
            result.add(name, value);
        }
    }

    if (clazz.isAssignableFrom(MultiMap.class)) {
        return result;
    }

    return result;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populatePutObjectHeaders(PutObjectRequest putObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(putObjectRequest.getCacheControl()) != null) {
        headers.add(Headers.CACHE_CONTROL, StringUtils.trim(putObjectRequest.getCacheControl()));
    }//  w  w w .j av  a2 s .c  o  m
    if (StringUtils.trimToNull(putObjectRequest.getContentDisposition()) != null) {
        headers.add(Headers.CONTENT_DISPOSITION, StringUtils.trim(putObjectRequest.getContentDisposition()));
    }
    if (StringUtils.trimToNull(putObjectRequest.getContentEncoding()) != null) {
        headers.add(Headers.CONTENT_ENCODING, StringUtils.trim(putObjectRequest.getContentEncoding()));
    }
    if (StringUtils.trimToNull(putObjectRequest.getContentMD5()) != null) {
        headers.add(Headers.CONTENT_MD5, StringUtils.trim(putObjectRequest.getContentMD5()));
    }
    if (StringUtils.trimToNull(putObjectRequest.getContentType()) != null) {
        headers.add(Headers.CONTENT_TYPE, StringUtils.trim(putObjectRequest.getContentType()));
    }
    if (StringUtils.trimToNull(putObjectRequest.getExpires()) != null) {
        headers.add(Headers.EXPIRES, StringUtils.trim(putObjectRequest.getExpires()));
    }

    for (Map.Entry<String, String> meta : putObjectRequest.getAmzMeta()) {
        headers.add(Headers.X_AMZ_META_PREFIX + meta.getKey(), StringUtils.trim(meta.getValue()));
    }
    if (putObjectRequest.getAmzStorageClass() != null) {
        headers.add(Headers.X_AMZ_STORAGE_CLASS, putObjectRequest.getAmzStorageClass().name());
    }
    if (StringUtils.trimToNull(putObjectRequest.getAmzTagging()) != null) {
        headers.add(Headers.X_AMZ_TAGGING, StringUtils.trim(putObjectRequest.getAmzTagging()));
    }
    if (StringUtils.trimToNull(putObjectRequest.getAmzWebsiteRedirectLocation()) != null) {
        headers.add(Headers.X_AMZ_WEBSITE_REDIRECT_LOCATION,
                StringUtils.trim(putObjectRequest.getAmzWebsiteRedirectLocation()));
    }

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateAclHeadersRequest(AclHeadersRequest aclHeadersRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (aclHeadersRequest.getAmzAcl() != null) {
        headers.add(Headers.X_AMZ_ACL, StringUtils.trim(aclHeadersRequest.getAmzAcl().getValue()));
    }//  w w  w .jav a2s.  c  om
    if (StringUtils.trimToNull(aclHeadersRequest.getAmzGrantRead()) != null) {
        headers.add(Headers.X_AMZ_GRANT_READ, StringUtils.trim(aclHeadersRequest.getAmzGrantRead()));
    }
    if (StringUtils.trimToNull(aclHeadersRequest.getAmzGrantWrite()) != null) {
        headers.add(Headers.X_AMZ_GRANT_WRITE, StringUtils.trim(aclHeadersRequest.getAmzGrantWrite()));
    }
    if (StringUtils.trimToNull(aclHeadersRequest.getAmzGrantReadAcp()) != null) {
        headers.add(Headers.X_AMZ_GRANT_READ_ACP, StringUtils.trim(aclHeadersRequest.getAmzGrantReadAcp()));
    }
    if (StringUtils.trimToNull(aclHeadersRequest.getAmzGrantWriteAcp()) != null) {
        headers.add(Headers.X_AMZ_GRANT_WRITE_ACP, StringUtils.trim(aclHeadersRequest.getAmzGrantWriteAcp()));
    }
    if (StringUtils.trimToNull(aclHeadersRequest.getAmzGrantFullControl()) != null) {
        headers.add(Headers.X_AMZ_GRANT_FULL_CONTROL,
                StringUtils.trim(aclHeadersRequest.getAmzGrantFullControl()));
    }

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateInitMultipartUploadHeaders(InitMultipartUploadRequest multipartPutObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(multipartPutObjectRequest.getCacheControl()) != null) {
        headers.add(Headers.CACHE_CONTROL, StringUtils.trim(multipartPutObjectRequest.getCacheControl()));
    }/*from www .  j  av a  2s .c  o m*/
    if (StringUtils.trimToNull(multipartPutObjectRequest.getContentDisposition()) != null) {
        headers.add(Headers.CONTENT_DISPOSITION,
                StringUtils.trim(multipartPutObjectRequest.getContentDisposition()));
    }
    if (StringUtils.trimToNull(multipartPutObjectRequest.getContentEncoding()) != null) {
        headers.add(Headers.CONTENT_ENCODING, StringUtils.trim(multipartPutObjectRequest.getContentEncoding()));
    }
    if (StringUtils.trimToNull(multipartPutObjectRequest.getContentType()) != null) {
        headers.add(Headers.CONTENT_TYPE, StringUtils.trim(multipartPutObjectRequest.getContentType()));
    }
    if (StringUtils.trimToNull(multipartPutObjectRequest.getExpires()) != null) {
        headers.add(Headers.EXPIRES, StringUtils.trim(multipartPutObjectRequest.getExpires()));
    }

    for (Map.Entry<String, String> meta : multipartPutObjectRequest.getAmzMeta()) {
        headers.add(Headers.X_AMZ_META_PREFIX + meta.getKey(), StringUtils.trim(meta.getValue()));
    }
    if (multipartPutObjectRequest.getAmzStorageClass() != null) {
        headers.add(Headers.X_AMZ_STORAGE_CLASS, multipartPutObjectRequest.getAmzStorageClass().name());
    }
    if (StringUtils.trimToNull(multipartPutObjectRequest.getAmzWebsiteRedirectLocation()) != null) {
        headers.add(Headers.X_AMZ_WEBSITE_REDIRECT_LOCATION,
                StringUtils.trim(multipartPutObjectRequest.getAmzWebsiteRedirectLocation()));
    }

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateContinueMultipartUploadHeaders(
        ContinueMultipartUploadRequest continueMultipartPutObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(continueMultipartPutObjectRequest.getContentMD5()) != null) {
        headers.add(Headers.CONTENT_MD5, StringUtils.trim(continueMultipartPutObjectRequest.getContentMD5()));
    }//from   www . j  a  v  a 2  s .  c  o  m

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateCopyObjectHeaders(CopyObjectRequest copyObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(copyObjectRequest.getCacheControl()) != null) {
        headers.add(Headers.CACHE_CONTROL, StringUtils.trim(copyObjectRequest.getCacheControl()));
    }/*from   w ww .ja  v  a  2s  .  c  o  m*/
    if (StringUtils.trimToNull(copyObjectRequest.getContentDisposition()) != null) {
        headers.add(Headers.CONTENT_DISPOSITION, StringUtils.trim(copyObjectRequest.getContentDisposition()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getContentEncoding()) != null) {
        headers.add(Headers.CONTENT_ENCODING, StringUtils.trim(copyObjectRequest.getContentEncoding()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getContentType()) != null) {
        headers.add(Headers.CONTENT_TYPE, StringUtils.trim(copyObjectRequest.getContentType()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getExpires()) != null) {
        headers.add(Headers.EXPIRES, StringUtils.trim(copyObjectRequest.getExpires()));
    }

    for (Map.Entry<String, String> meta : copyObjectRequest.getAmzMeta()) {
        headers.add(Headers.X_AMZ_META_PREFIX + meta.getKey(), StringUtils.trim(meta.getValue()));
    }

    if (copyObjectRequest.getAmzMetadataDirective() != null) {
        headers.add(Headers.X_AMZ_METADATA_DIRECTIVE, copyObjectRequest.getAmzMetadataDirective().name());
    }
    if (StringUtils.trimToNull(copyObjectRequest.getAmzCopySourceIfMatch()) != null) {
        headers.add(Headers.X_AMZ_COPY_SOURCE_IF_MATCH,
                StringUtils.trim(copyObjectRequest.getAmzCopySourceIfMatch()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getAmzCopySourceIfNoneMatch()) != null) {
        headers.add(Headers.X_AMZ_COPY_SOURCE_IF_NONE_MATCH,
                StringUtils.trim(copyObjectRequest.getAmzCopySourceIfNoneMatch()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getAmzCopySourceIfUnmodifiedSince()) != null) {
        headers.add(Headers.X_AMZ_COPY_SOURCE_IF_UNMODIFIED_SINCE,
                StringUtils.trim(copyObjectRequest.getAmzCopySourceIfUnmodifiedSince()));
    }
    if (StringUtils.trimToNull(copyObjectRequest.getAmzCopySourceIfModifiedSince()) != null) {
        headers.add(Headers.X_AMZ_COPY_SOURCE_IF_MODIFIED_SINCE,
                StringUtils.trim(copyObjectRequest.getAmzCopySourceIfModifiedSince()));
    }
    if (copyObjectRequest.getAmzStorageClass() != null) {
        headers.add(Headers.X_AMZ_STORAGE_CLASS, copyObjectRequest.getAmzStorageClass().name());
    }
    if (copyObjectRequest.getAmzTaggingDirective() != null) {
        headers.add(Headers.X_AMZ_TAGGING_DIRECTIVE, copyObjectRequest.getAmzTaggingDirective().name());
    }
    if (StringUtils.trimToNull(copyObjectRequest.getAmzWebsiteRedirectLocation()) != null) {
        headers.add(Headers.X_AMZ_WEBSITE_REDIRECT_LOCATION,
                StringUtils.trim(copyObjectRequest.getAmzWebsiteRedirectLocation()));
    }

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateGetObjectHeaders(GetObjectRequest getObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(getObjectRequest.getRange()) != null) {
        headers.add(Headers.RANGE, StringUtils.trim(getObjectRequest.getRange()));
    }//  w w w.j av  a  2 s.c  o  m
    if (StringUtils.trimToNull(getObjectRequest.getIfModifiedSince()) != null) {
        headers.add(Headers.IF_MODIFIED_SINCE, StringUtils.trim(getObjectRequest.getIfModifiedSince()));
    }
    if (StringUtils.trimToNull(getObjectRequest.getIfUnmodifiedSince()) != null) {
        headers.add(Headers.IF_UNMODIFIED_SINCE, StringUtils.trim(getObjectRequest.getIfUnmodifiedSince()));
    }
    if (StringUtils.trimToNull(getObjectRequest.getIfMatch()) != null) {
        headers.add(Headers.IF_MATCH, StringUtils.trim(getObjectRequest.getIfMatch()));
    }
    if (StringUtils.trimToNull(getObjectRequest.getIfNoneMatch()) != null) {
        headers.add(Headers.IF_NONE_MATCH, StringUtils.trim(getObjectRequest.getIfNoneMatch()));
    }

    return headers;
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

License:Apache License

private MultiMap populateHeadObjectHeaders(HeadObjectRequest headObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(headObjectRequest.getRange()) != null) {
        headers.add(Headers.RANGE, StringUtils.trim(headObjectRequest.getRange()));
    }/*from  w w w  . j  a v a 2s.c om*/
    if (StringUtils.trimToNull(headObjectRequest.getIfModifiedSince()) != null) {
        headers.add(Headers.IF_MODIFIED_SINCE, StringUtils.trim(headObjectRequest.getIfModifiedSince()));
    }
    if (StringUtils.trimToNull(headObjectRequest.getIfUnmodifiedSince()) != null) {
        headers.add(Headers.IF_UNMODIFIED_SINCE, StringUtils.trim(headObjectRequest.getIfUnmodifiedSince()));
    }
    if (StringUtils.trimToNull(headObjectRequest.getIfMatch()) != null) {
        headers.add(Headers.IF_MATCH, StringUtils.trim(headObjectRequest.getIfMatch()));
    }
    if (StringUtils.trimToNull(headObjectRequest.getIfNoneMatch()) != null) {
        headers.add(Headers.IF_NONE_MATCH, StringUtils.trim(headObjectRequest.getIfNoneMatch()));
    }

    return headers;
}

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 ww  .j av a 2  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/*from  w w  w .ja  va  2  s.  com*/
            .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);
}