This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new 3fd2268 Refactor to avoid cast 3fd2268 is described below commit 3fd2268aa9abaedfd328c7ab0295daf32d31f638 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Dec 10 10:23:04 2019 +0000 Refactor to avoid cast --- java/org/apache/coyote/UpgradeProtocol.java | 16 ++++++++++++++++ .../org/apache/coyote/http11/AbstractHttp11Protocol.java | 5 +---- java/org/apache/coyote/http2/Http2Protocol.java | 9 +++++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/java/org/apache/coyote/UpgradeProtocol.java b/java/org/apache/coyote/UpgradeProtocol.java index 6fdb29a..dc840df 100644 --- a/java/org/apache/coyote/UpgradeProtocol.java +++ b/java/org/apache/coyote/UpgradeProtocol.java @@ -91,4 +91,20 @@ public interface UpgradeProtocol { * <code>false</code> */ public boolean accept(Request request); + + + /** + * Configure the HTTP/1.1 protocol that this UpgradeProcotol is nested + * under. Connections passed to this UpgradeProtocol via HTTP upgrade will + * have been initially handled by this HTTP/1.1 protocol implementation. + * <p> + * The default implementation is a NO-OP. + * + * @param protocol The HTTP/1.1 protocol implementation that will initially + * handle any connections passed to this UpgradeProtocol via + * the HTTP upgrade mechanism + */ + public default void setHttp11Protocol(AbstractProtocol<?> protocol) { + // NO-OP + } } diff --git a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java index e8a5b91..9189b59 100644 --- a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java +++ b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java @@ -39,7 +39,6 @@ import org.apache.coyote.UpgradeToken; import org.apache.coyote.http11.upgrade.InternalHttpUpgradeHandler; import org.apache.coyote.http11.upgrade.UpgradeProcessorExternal; import org.apache.coyote.http11.upgrade.UpgradeProcessorInternal; -import org.apache.coyote.http2.Http2Protocol; import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.SSLHostConfig; @@ -500,9 +499,7 @@ public abstract class AbstractHttp11Protocol<S> extends AbstractProtocol<S> { } } - if (upgradeProtocol instanceof Http2Protocol) { - ((Http2Protocol) upgradeProtocol).setHttp11Protocol(this); - } + upgradeProtocol.setHttp11Protocol(this); } @Override public UpgradeProtocol getNegotiatedProtocol(String negotiatedName) { diff --git a/java/org/apache/coyote/http2/Http2Protocol.java b/java/org/apache/coyote/http2/Http2Protocol.java index f8ee7ec..ed23505 100644 --- a/java/org/apache/coyote/http2/Http2Protocol.java +++ b/java/org/apache/coyote/http2/Http2Protocol.java @@ -27,6 +27,7 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; +import org.apache.coyote.AbstractProtocol; import org.apache.coyote.Adapter; import org.apache.coyote.CompressionConfig; import org.apache.coyote.Processor; @@ -34,7 +35,6 @@ import org.apache.coyote.Request; import org.apache.coyote.Response; import org.apache.coyote.UpgradeProtocol; import org.apache.coyote.UpgradeToken; -import org.apache.coyote.http11.AbstractHttp11Protocol; import org.apache.coyote.http11.upgrade.InternalHttpUpgradeHandler; import org.apache.coyote.http11.upgrade.UpgradeProcessorInternal; import org.apache.tomcat.util.buf.StringUtils; @@ -93,7 +93,7 @@ public class Http2Protocol implements UpgradeProtocol { // Compression private final CompressionConfig compressionConfig = new CompressionConfig(); // Reference to HTTP/1.1 protocol that this instance is configured under - private AbstractHttp11Protocol<?> http11Protocol = null; + private AbstractProtocol<?> http11Protocol = null; @Override public String getHttpUpgradeName(boolean isSSLEnabled) { @@ -423,10 +423,11 @@ public class Http2Protocol implements UpgradeProtocol { } - public AbstractHttp11Protocol<?> getHttp11Protocol() { + public AbstractProtocol<?> getHttp11Protocol() { return this.http11Protocol; } - public void setHttp11Protocol(AbstractHttp11Protocol<?> http11Protocol) { + @Override + public void setHttp11Protocol(AbstractProtocol<?> http11Protocol) { this.http11Protocol = http11Protocol; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org