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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org