From a5922348239157c963deb2a301baca918a62fd02 Mon Sep 17 00:00:00 2001 From: cpandey Date: Wed, 6 Dec 2017 21:51:48 +0530 Subject: [PATCH] CAMEL-12068: Enable http2 for undertow component --- .../component/undertow/DefaultUndertowHost.java | 6 +++++- .../component/undertow/UndertowHostOptions.java | 16 +++++++++++++++- .../UndertowComponentConfiguration.java | 12 ++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHost.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHost.java index 89447efbd941a..4ef6126c0eddc 100644 --- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHost.java +++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHost.java @@ -19,6 +19,7 @@ import java.net.URI; import io.undertow.Undertow; +import io.undertow.UndertowOptions; import io.undertow.server.HttpHandler; import org.apache.camel.component.undertow.handlers.CamelRootHandler; @@ -76,6 +77,9 @@ public synchronized void registerHandler(HttpHandlerRegistrationInfo registratio if (options.getDirectBuffers() != null) { builder.setDirectBuffers(options.getDirectBuffers()); } + if (options.getHttp2Enabled() != null) { + builder.setServerOption(UndertowOptions.ENABLE_HTTP2, options.getHttp2Enabled()); + } } undertow = builder.setHandler(rootHandler).build(); @@ -130,4 +134,4 @@ public String toString() { } return hostString; } -} \ No newline at end of file +} diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHostOptions.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHostOptions.java index fb50ba945e1a0..81933c96fe2d4 100644 --- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHostOptions.java +++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHostOptions.java @@ -40,6 +40,11 @@ public final class UndertowHostOptions { * Set if the Undertow host should use direct buffers. */ private Boolean directBuffers; + + /** + * Set if the Undertow host should use http2 protocol. + */ + private Boolean http2Enabled; public UndertowHostOptions() { } @@ -76,6 +81,14 @@ public void setDirectBuffers(Boolean directBuffers) { this.directBuffers = directBuffers; } + public Boolean getHttp2Enabled() { + return http2Enabled; + } + + public void setHttp2Enabled(Boolean http2Enabled) { + this.http2Enabled = http2Enabled; + } + @Override public String toString() { final StringBuilder sb = new StringBuilder("UndertowHostOptions{"); @@ -83,8 +96,9 @@ public String toString() { sb.append(", ioThreads=").append(ioThreads); sb.append(", bufferSize=").append(bufferSize); sb.append(", directBuffers=").append(directBuffers); + sb.append(", http2Enabled=").append(http2Enabled); sb.append('}'); return sb.toString(); } -} \ No newline at end of file +} diff --git a/platforms/spring-boot/components-starter/camel-undertow-starter/src/main/java/org/apache/camel/component/undertow/springboot/UndertowComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-undertow-starter/src/main/java/org/apache/camel/component/undertow/springboot/UndertowComponentConfiguration.java index ce3df2dead159..8a179c3e95175 100644 --- a/platforms/spring-boot/components-starter/camel-undertow-starter/src/main/java/org/apache/camel/component/undertow/springboot/UndertowComponentConfiguration.java +++ b/platforms/spring-boot/components-starter/camel-undertow-starter/src/main/java/org/apache/camel/component/undertow/springboot/UndertowComponentConfiguration.java @@ -123,6 +123,10 @@ public static class UndertowHostOptionsNestedConfiguration { * Set if the Undertow host should use direct buffers. */ private Boolean directBuffers; + /** + * Set if the Undertow host should use http2 protocol. + */ + private Boolean http2Enabled; public Integer getWorkerThreads() { return workerThreads; @@ -155,5 +159,13 @@ public Boolean getDirectBuffers() { public void setDirectBuffers(Boolean directBuffers) { this.directBuffers = directBuffers; } + + public Boolean getHttp2Enabled() { + return http2Enabled; + } + + public void setHttp2Enabled(Boolean http2Enabled) { + this.http2Enabled = http2Enabled; + } } } \ No newline at end of file