You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/12/10 10:23:40 UTC
[tomcat] branch master updated: Refactor to avoid cast
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org