diff --git a/extensions-contrib/druid-rocketmq/pom.xml b/extensions-contrib/druid-rocketmq/pom.xml
index 251961ba99ea..46d10be42871 100644
--- a/extensions-contrib/druid-rocketmq/pom.xml
+++ b/extensions-contrib/druid-rocketmq/pom.xml
@@ -40,6 +40,13 @@
com.alibaba.rocketmq
rocketmq-client
${rocketmq.version}
+
+
+
+ io.netty
+ netty-all
+
+
org.apache.druid
diff --git a/extensions-core/druid-basic-security/src/test/java/org/apache/druid/security/authentication/BasicHTTPAuthenticatorTest.java b/extensions-core/druid-basic-security/src/test/java/org/apache/druid/security/authentication/BasicHTTPAuthenticatorTest.java
index 782c9dd21116..07134973e09d 100644
--- a/extensions-core/druid-basic-security/src/test/java/org/apache/druid/security/authentication/BasicHTTPAuthenticatorTest.java
+++ b/extensions-core/druid-basic-security/src/test/java/org/apache/druid/security/authentication/BasicHTTPAuthenticatorTest.java
@@ -31,7 +31,6 @@
import org.apache.druid.security.basic.authentication.entity.BasicAuthenticatorUser;
import org.apache.druid.server.security.AuthConfig;
import org.apache.druid.server.security.AuthenticationResult;
-import org.asynchttpclient.util.Base64;
import org.easymock.EasyMock;
import org.junit.Test;
@@ -82,9 +81,7 @@ public Map getUserMap(String authenticatorPrefix
@Test
public void testGoodPassword() throws IOException, ServletException
{
- String header = Base64.encode(
- StringUtils.toUtf8("userA:helloworld")
- );
+ String header = StringUtils.utf8Base64("userA:helloworld");
header = StringUtils.format("Basic %s", header);
HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
@@ -113,9 +110,7 @@ public void testGoodPassword() throws IOException, ServletException
@Test
public void testBadPassword() throws IOException, ServletException
{
- String header = Base64.encode(
- StringUtils.toUtf8("userA:badpassword")
- );
+ String header = StringUtils.utf8Base64("userA:badpassword");
header = StringUtils.format("Basic %s", header);
HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
@@ -139,9 +134,7 @@ public void testBadPassword() throws IOException, ServletException
@Test
public void testUnknownUser() throws IOException, ServletException
{
- String header = Base64.encode(
- StringUtils.toUtf8("userB:helloworld")
- );
+ String header = StringUtils.utf8Base64("userB:helloworld");
header = StringUtils.format("Basic %s", header);
HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
@@ -165,9 +158,7 @@ public void testUnknownUser() throws IOException, ServletException
@Test
public void testRecognizedButMalformedBasicAuthHeader() throws IOException, ServletException
{
- String header = Base64.encode(
- StringUtils.toUtf8("malformed decoded header data")
- );
+ String header = StringUtils.utf8Base64("malformed decoded header data");
header = StringUtils.format("Basic %s", header);
HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
@@ -214,9 +205,7 @@ public void testRecognizedButNotBase64BasicAuthHeader() throws IOException, Serv
@Test
public void testUnrecognizedHeader() throws IOException, ServletException
{
- String header = Base64.encode(
- StringUtils.toUtf8("userA:helloworld")
- );
+ String header = StringUtils.utf8Base64("userA:helloworld");
header = StringUtils.format("NotBasic %s", header);
HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
diff --git a/java-util/src/main/java/org/apache/druid/java/util/common/StringUtils.java b/java-util/src/main/java/org/apache/druid/java/util/common/StringUtils.java
index b69f81eff094..e4020990a6a2 100644
--- a/java-util/src/main/java/org/apache/druid/java/util/common/StringUtils.java
+++ b/java-util/src/main/java/org/apache/druid/java/util/common/StringUtils.java
@@ -28,6 +28,7 @@
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
+import java.util.Base64;
import java.util.IllegalFormatException;
import java.util.Locale;
@@ -218,4 +219,16 @@ public static String emptyToNullNonDruidDataString(@Nullable String string)
return Strings.emptyToNull(string);
//CHECKSTYLE.ON: Regexp
}
+
+ /**
+ * Convert an input to base 64 and return the utf8 string of that byte array
+ *
+ * @param input The string to convert to base64
+ *
+ * @return the base64 of the input in string form
+ */
+ public static String utf8Base64(String input)
+ {
+ return fromUtf8(Base64.getEncoder().encode(toUtf8(input)));
+ }
}
diff --git a/java-util/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java b/java-util/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
index c80736313e6e..ed85dbcedcef 100644
--- a/java-util/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
+++ b/java-util/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
@@ -31,7 +31,6 @@
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.common.lifecycle.Lifecycle;
import org.apache.druid.java.util.emitter.service.UnitEvent;
-import org.asynchttpclient.DefaultAsyncHttpClientConfig;
import org.asynchttpclient.ListenableFuture;
import org.asynchttpclient.Request;
import org.asynchttpclient.Response;
@@ -53,6 +52,7 @@
import java.util.Properties;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Stream;
/**
*/
@@ -60,25 +60,33 @@ public class EmitterTest
{
private static final ObjectMapper jsonMapper = new ObjectMapper();
public static String TARGET_URL = "http://metrics.foo.bar/";
- public static final Response OK_RESPONSE = responseBuilder(HttpVersion.HTTP_1_1, HttpResponseStatus.CREATED)
- .accumulate(new EagerResponseBodyPart(Unpooled.wrappedBuffer("Yay".getBytes(StandardCharsets.UTF_8)), true))
- .build();
-
- public static final Response BAD_RESPONSE = responseBuilder(HttpVersion.HTTP_1_1, HttpResponseStatus.FORBIDDEN)
- .accumulate(new EagerResponseBodyPart(Unpooled.wrappedBuffer("Not yay".getBytes(StandardCharsets.UTF_8)), true))
- .build();
+ public static final Response OK_RESPONSE = Stream
+ .of(responseBuilder(HttpVersion.HTTP_1_1, HttpResponseStatus.CREATED))
+ .map(b -> {
+ b.accumulate(new EagerResponseBodyPart(Unpooled.wrappedBuffer("Yay".getBytes(StandardCharsets.UTF_8)), true));
+ return b.build();
+ }).findFirst().get();
+
+ public static final Response BAD_RESPONSE = Stream
+ .of(responseBuilder(HttpVersion.HTTP_1_1, HttpResponseStatus.FORBIDDEN))
+ .map(b -> {
+ b.accumulate(new EagerResponseBodyPart(
+ Unpooled.wrappedBuffer("Not yay".getBytes(StandardCharsets.UTF_8)),
+ true
+ ));
+ return b.build();
+ }).findFirst().get();
private static Response.ResponseBuilder responseBuilder(HttpVersion version, HttpResponseStatus status)
{
- return new Response.ResponseBuilder()
- .accumulate(
- new NettyResponseStatus(
- Uri.create(TARGET_URL),
- new DefaultAsyncHttpClientConfig.Builder().build(),
- new DefaultHttpResponse(version, status),
- null
- )
- );
+ final Response.ResponseBuilder builder = new Response.ResponseBuilder();
+ builder.accumulate(
+ new NettyResponseStatus(
+ Uri.create(TARGET_URL),
+ new DefaultHttpResponse(version, status),
+ null
+ ));
+ return builder;
}
diff --git a/pom.xml b/pom.xml
index 9d127d7664ee..7b54762bf91e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,9 +77,8 @@
2.5
3.10.6.Final
-
- 4.0.52.Final
+
+ 4.1.30.Final
1.7.12
2.8.3
@@ -680,7 +679,8 @@
org.asynchttpclient
async-http-client
- 2.0.37
+
+ 2.5.3
org.gridkit.lab