From df592475169253d17ce26ef24ed90bba6794e514 Mon Sep 17 00:00:00 2001 From: Julien Viet Date: Thu, 30 Jan 2020 09:57:35 +0100 Subject: [PATCH] Avoid using CaseInsensitiveMultiMap directly --- src/main/java/io/vertx/core/MultiMap.java | 1 - src/main/java/io/vertx/core/eventbus/DeliveryOptions.java | 5 ++--- src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java | 5 ++--- .../vertx/core/eventbus/impl/clustered/ClusteredMessage.java | 5 ++--- src/main/java/io/vertx/core/http/RequestOptions.java | 2 +- src/main/java/io/vertx/core/http/ServerWebSocket.java | 2 -- .../java/io/vertx/core/http/impl/Http1xServerRequest.java | 2 +- .../java/io/vertx/core/http/impl/Http2ClientConnection.java | 4 ---- .../java/io/vertx/core/http/impl/Http2ServerRequestImpl.java | 3 +-- src/main/java/io/vertx/core/http/impl/HttpUtils.java | 3 +-- .../io/vertx/core/http/impl/headers/VertxHttpHeaders.java | 2 -- src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java | 3 +-- 12 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/main/java/io/vertx/core/MultiMap.java b/src/main/java/io/vertx/core/MultiMap.java index 9548f3043..3de8a5eb6 100644 --- a/src/main/java/io/vertx/core/MultiMap.java +++ b/src/main/java/io/vertx/core/MultiMap.java @@ -15,7 +15,6 @@ import io.vertx.codegen.annotations.Fluent; import io.vertx.codegen.annotations.GenIgnore; import io.vertx.codegen.annotations.Nullable; import io.vertx.codegen.annotations.VertxGen; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.http.HttpHeaders; import java.util.ArrayList; diff --git a/src/main/java/io/vertx/core/eventbus/DeliveryOptions.java b/src/main/java/io/vertx/core/eventbus/DeliveryOptions.java index 50f0b9387..e83da1d4e 100644 --- a/src/main/java/io/vertx/core/eventbus/DeliveryOptions.java +++ b/src/main/java/io/vertx/core/eventbus/DeliveryOptions.java @@ -14,7 +14,6 @@ package io.vertx.core.eventbus; import io.vertx.codegen.annotations.DataObject; import io.vertx.codegen.annotations.GenIgnore; import io.vertx.core.MultiMap; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.impl.Arguments; import io.vertx.core.json.JsonObject; @@ -75,7 +74,7 @@ public class DeliveryOptions { this.codecName = json.getString("codecName", null); JsonObject hdrs = json.getJsonObject("headers", null); if (hdrs != null) { - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); for (Map.Entry entry: hdrs) { if (!(entry.getValue() instanceof String)) { throw new IllegalStateException("Invalid type for message header value " + entry.getValue().getClass()); @@ -194,7 +193,7 @@ public class DeliveryOptions { private void checkHeaders() { if (headers == null) { - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); } } diff --git a/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java b/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java index 038c376a5..0711fcec9 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java +++ b/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java @@ -14,7 +14,6 @@ package io.vertx.core.eventbus.impl; import io.vertx.core.Future; import io.vertx.core.MultiMap; import io.vertx.core.eventbus.*; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.impl.logging.Logger; import io.vertx.core.impl.logging.LoggerFactory; @@ -60,7 +59,7 @@ public class MessageImpl implements Message { this.messageCodec = other.messageCodec; if (other.headers != null) { List> entries = other.headers.entries(); - this.headers = new CaseInsensitiveHeaders(); + this.headers = MultiMap.caseInsensitiveMultiMap(); for (Map.Entry entry: entries) { this.headers.add(entry.getKey(), entry.getValue()); } @@ -85,7 +84,7 @@ public class MessageImpl implements Message { public MultiMap headers() { // Lazily decode headers if (headers == null) { - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); } return headers; } diff --git a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java index 29fea635b..f0c64c428 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java +++ b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java @@ -19,7 +19,6 @@ import io.vertx.core.eventbus.MessageCodec; import io.vertx.core.eventbus.impl.CodecManager; import io.vertx.core.eventbus.impl.EventBusImpl; import io.vertx.core.eventbus.impl.MessageImpl; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.impl.logging.Logger; import io.vertx.core.impl.logging.LoggerFactory; import io.vertx.core.net.impl.ServerID; @@ -85,7 +84,7 @@ public class ClusteredMessage extends MessageImpl { decodeHeaders(); } if (headers == null) { - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); } } return headers; @@ -217,7 +216,7 @@ public class ClusteredMessage extends MessageImpl { headersPos += 4; int numHeaders = wireBuffer.getInt(headersPos); headersPos += 4; - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); for (int i = 0; i < numHeaders; i++) { int keyLength = wireBuffer.getInt(headersPos); headersPos += 4; diff --git a/src/main/java/io/vertx/core/http/RequestOptions.java b/src/main/java/io/vertx/core/http/RequestOptions.java index be4106409..3e09d081c 100644 --- a/src/main/java/io/vertx/core/http/RequestOptions.java +++ b/src/main/java/io/vertx/core/http/RequestOptions.java @@ -352,7 +352,7 @@ public class RequestOptions { private void checkHeaders() { if (headers == null) { - headers = new CaseInsensitiveHeaders(); + headers = MultiMap.caseInsensitiveMultiMap(); } } diff --git a/src/main/java/io/vertx/core/http/ServerWebSocket.java b/src/main/java/io/vertx/core/http/ServerWebSocket.java index fe1f66073..7e53f8ca2 100644 --- a/src/main/java/io/vertx/core/http/ServerWebSocket.java +++ b/src/main/java/io/vertx/core/http/ServerWebSocket.java @@ -11,14 +11,12 @@ package io.vertx.core.http; -import io.vertx.codegen.annotations.CacheReturn; import io.vertx.codegen.annotations.GenIgnore; import io.vertx.codegen.annotations.Nullable; import io.vertx.codegen.annotations.VertxGen; import io.vertx.core.AsyncResult; import io.vertx.core.Future; import io.vertx.core.Handler; -import io.vertx.core.MultiMap; import io.vertx.core.Promise; import io.vertx.core.buffer.Buffer; diff --git a/src/main/java/io/vertx/core/http/impl/Http1xServerRequest.java b/src/main/java/io/vertx/core/http/impl/Http1xServerRequest.java index c5259e215..e1c4bc2d3 100644 --- a/src/main/java/io/vertx/core/http/impl/Http1xServerRequest.java +++ b/src/main/java/io/vertx/core/http/impl/Http1xServerRequest.java @@ -589,7 +589,7 @@ public class Http1xServerRequest implements HttpServerRequest { private MultiMap attributes() { // Create it lazily if (attributes == null) { - attributes = new CaseInsensitiveHeaders(); + attributes = MultiMap.caseInsensitiveMultiMap(); } return attributes; } diff --git a/src/main/java/io/vertx/core/http/impl/Http2ClientConnection.java b/src/main/java/io/vertx/core/http/impl/Http2ClientConnection.java index 599ee8333..e29690cf4 100644 --- a/src/main/java/io/vertx/core/http/impl/Http2ClientConnection.java +++ b/src/main/java/io/vertx/core/http/impl/Http2ClientConnection.java @@ -385,10 +385,6 @@ class Http2ClientConnection extends Http2ConnectionBase implements HttpClientCon @Override void handleEnd(MultiMap trailers) { - // Should use a shared immutable object for CaseInsensitiveHeaders ? - if (trailers == null) { - trailers = new CaseInsensitiveHeaders(); - } response.handleEnd(trailers); } diff --git a/src/main/java/io/vertx/core/http/impl/Http2ServerRequestImpl.java b/src/main/java/io/vertx/core/http/impl/Http2ServerRequestImpl.java index d48844977..963ba03e6 100644 --- a/src/main/java/io/vertx/core/http/impl/Http2ServerRequestImpl.java +++ b/src/main/java/io/vertx/core/http/impl/Http2ServerRequestImpl.java @@ -27,7 +27,6 @@ import io.vertx.core.Handler; import io.vertx.core.MultiMap; import io.vertx.core.Promise; import io.vertx.core.buffer.Buffer; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.http.Cookie; import io.vertx.core.http.HttpConnection; import io.vertx.core.http.HttpMethod; @@ -466,7 +465,7 @@ public class Http2ServerRequestImpl extends Http2ServerStream implements HttpSer synchronized (conn) { // Create it lazily if (attributes == null) { - attributes = new CaseInsensitiveHeaders(); + attributes = MultiMap.caseInsensitiveMultiMap(); } return attributes; } diff --git a/src/main/java/io/vertx/core/http/impl/HttpUtils.java b/src/main/java/io/vertx/core/http/impl/HttpUtils.java index 5aa5f19d4..9103d2639 100644 --- a/src/main/java/io/vertx/core/http/impl/HttpUtils.java +++ b/src/main/java/io/vertx/core/http/impl/HttpUtils.java @@ -23,7 +23,6 @@ import io.netty.util.AsciiString; import io.netty.util.CharsetUtil; import io.vertx.core.MultiMap; import io.vertx.core.buffer.Buffer; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.http.HttpClientRequest; import io.vertx.core.http.HttpClientResponse; import io.vertx.core.http.HttpServerRequest; @@ -481,7 +480,7 @@ public final class HttpUtils { static MultiMap params(String uri) { QueryStringDecoder queryStringDecoder = new QueryStringDecoder(uri); Map> prms = queryStringDecoder.parameters(); - MultiMap params = new CaseInsensitiveHeaders(); + MultiMap params = MultiMap.caseInsensitiveMultiMap(); if (!prms.isEmpty()) { for (Map.Entry> entry: prms.entrySet()) { params.add(entry.getKey(), entry.getValue()); diff --git a/src/main/java/io/vertx/core/http/impl/headers/VertxHttpHeaders.java b/src/main/java/io/vertx/core/http/impl/headers/VertxHttpHeaders.java index d1cc6988c..6a433d90b 100644 --- a/src/main/java/io/vertx/core/http/impl/headers/VertxHttpHeaders.java +++ b/src/main/java/io/vertx/core/http/impl/headers/VertxHttpHeaders.java @@ -18,11 +18,9 @@ import io.netty.util.AsciiString; import io.netty.util.CharsetUtil; import io.netty.util.HashingStrategy; import io.vertx.core.MultiMap; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.http.impl.HttpUtils; import java.util.AbstractMap; -import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; diff --git a/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java b/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java index e883764c3..896d04e0a 100644 --- a/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java +++ b/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java @@ -13,7 +13,6 @@ package io.vertx.core.eventbus; import io.vertx.core.*; import io.vertx.core.eventbus.impl.MessageConsumerImpl; -import io.vertx.core.http.CaseInsensitiveHeaders; import io.vertx.core.impl.ConcurrentHashSet; import io.vertx.core.impl.ContextInternal; import io.vertx.core.impl.EventLoopContext; @@ -751,7 +750,7 @@ public class LocalEventBusTest extends EventBusTestBase { @Test public void testHeadersCopiedAfterSend() throws Exception { - MultiMap headers = new CaseInsensitiveHeaders(); + MultiMap headers = MultiMap.caseInsensitiveMultiMap(); headers.add("foo", "bar"); vertx.eventBus().consumer(ADDRESS1).handler(msg -> { assertNotSame(headers, msg.headers());