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 2017/09/05 09:44:05 UTC
svn commit: r1807329 - in /tomcat/trunk/java/org/apache/coyote/http2:
Http2Protocol.java Http2UpgradeHandler.java Stream.java
Author: markt
Date: Tue Sep 5 09:44:04 2017
New Revision: 1807329
URL: http://svn.apache.org/viewvc?rev=1807329&view=rev
Log:
Refactor: Obtain limits directly from protocol
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java?rev=1807329&r1=1807328&r2=1807329&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java Tue Sep 5 09:44:04 2017
@@ -105,11 +105,6 @@ public class Http2Protocol implements Up
? new Http2AsyncUpgradeHandler(this, adapter, coyoteRequest)
: new Http2UpgradeHandler(this, adapter, coyoteRequest);
- result.setAllowedTrailerHeaders(allowedTrailerHeaders);
- result.setMaxHeaderCount(getMaxHeaderCount());
- result.setMaxHeaderSize(getMaxHeaderSize());
- result.setMaxTrailerCount(getMaxTrailerCount());
- result.setMaxTrailerSize(getMaxTrailerSize());
result.setInitiatePingDisabled(initiatePingDisabled);
return result;
}
@@ -226,6 +221,11 @@ public class Http2Protocol implements Up
}
+ boolean isTrailerHeaderAllowed(String headerName) {
+ return allowedTrailerHeaders.contains(headerName);
+ }
+
+
public void setMaxHeaderCount(int maxHeaderCount) {
this.maxHeaderCount = maxHeaderCount;
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1807329&r1=1807328&r2=1807329&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Tue Sep 5 09:44:04 2017
@@ -20,7 +20,6 @@ import java.io.EOFException;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -138,13 +137,6 @@ class Http2UpgradeHandler extends Abstra
private AtomicInteger streamConcurrency = null;
private Queue<StreamRunnable> queuedRunnable = null;
- // Limits
- private Set<String> allowedTrailerHeaders = Collections.emptySet();
- private int maxHeaderCount = Constants.DEFAULT_MAX_HEADER_COUNT;
- private int maxHeaderSize = Constants.DEFAULT_MAX_HEADER_SIZE;
- private int maxTrailerCount = Constants.DEFAULT_MAX_TRAILER_COUNT;
- private int maxTrailerSize = Constants.DEFAULT_MAX_TRAILER_SIZE;
-
Http2UpgradeHandler(Http2Protocol protocol, Adapter adapter, Request coyoteRequest) {
super (STREAM_ID_ZERO);
@@ -384,6 +376,11 @@ class Http2UpgradeHandler extends Abstra
}
+ Http2Protocol getProtocol() {
+ return protocol;
+ }
+
+
@Override
public void pause() {
if (log.isDebugEnabled()) {
@@ -1120,58 +1117,8 @@ class Http2UpgradeHandler extends Abstra
}
- boolean isTrailerHeaderAllowed(String headerName) {
- return allowedTrailerHeaders.contains(headerName);
- }
-
-
// ------------------------------------------- Configuration getters/setters
- public void setAllowedTrailerHeaders(Set<String> allowedTrailerHeaders) {
- this.allowedTrailerHeaders = allowedTrailerHeaders;
- }
-
-
- public void setMaxHeaderCount(int maxHeaderCount) {
- this.maxHeaderCount = maxHeaderCount;
- }
-
-
- public int getMaxHeaderCount() {
- return maxHeaderCount;
- }
-
-
- public void setMaxHeaderSize(int maxHeaderSize) {
- this.maxHeaderSize = maxHeaderSize;
- }
-
-
- public int getMaxHeaderSize() {
- return maxHeaderSize;
- }
-
-
- public void setMaxTrailerCount(int maxTrailerCount) {
- this.maxTrailerCount = maxTrailerCount;
- }
-
-
- public int getMaxTrailerCount() {
- return maxTrailerCount;
- }
-
-
- public void setMaxTrailerSize(int maxTrailerSize) {
- this.maxTrailerSize = maxTrailerSize;
- }
-
-
- public int getMaxTrailerSize() {
- return maxTrailerSize;
- }
-
-
public void setInitiatePingDisabled(boolean initiatePingDisabled) {
pingManager.initiateDisabled = initiatePingDisabled;
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1807329&r1=1807328&r2=1807329&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Tue Sep 5 09:44:04 2017
@@ -348,7 +348,8 @@ class Stream extends AbstractStream impl
break;
}
default: {
- if (headerState == HEADER_STATE_TRAILER && !handler.isTrailerHeaderAllowed(name)) {
+ if (headerState == HEADER_STATE_TRAILER &&
+ !handler.getProtocol().isTrailerHeaderAllowed(name)) {
break;
}
if ("expect".equals(name) && "100-continue".equals(value)) {
@@ -487,14 +488,16 @@ class Stream extends AbstractStream impl
final void receivedStartOfHeaders(boolean headersEndStream) throws Http2Exception {
if (headerState == HEADER_STATE_START) {
headerState = HEADER_STATE_PSEUDO;
- handler.getHpackDecoder().setMaxHeaderCount(handler.getMaxHeaderCount());
- handler.getHpackDecoder().setMaxHeaderSize(handler.getMaxHeaderSize());
+ handler.getHpackDecoder().setMaxHeaderCount(handler.getProtocol().getMaxHeaderCount());
+ handler.getHpackDecoder().setMaxHeaderSize(handler.getProtocol().getMaxHeaderSize());
} else if (headerState == HEADER_STATE_PSEUDO || headerState == HEADER_STATE_REGULAR) {
// Trailer headers MUST include the end of stream flag
if (headersEndStream) {
headerState = HEADER_STATE_TRAILER;
- handler.getHpackDecoder().setMaxHeaderCount(handler.getMaxTrailerCount());
- handler.getHpackDecoder().setMaxHeaderSize(handler.getMaxTrailerSize());
+ handler.getHpackDecoder().setMaxHeaderCount(
+ handler.getProtocol().getMaxTrailerCount());
+ handler.getHpackDecoder().setMaxHeaderSize(
+ handler.getProtocol().getMaxTrailerSize());
} else {
throw new ConnectionException(sm.getString("stream.trailerHeader.noEndOfStream",
getConnectionId(), getIdentifier()), Http2Error.PROTOCOL_ERROR);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org