MCPcopy Index your code
hub / github.com/apache/tomcat / validateFrame

Method validateFrame

java/org/apache/coyote/http2/Http2Parser.java:705–740  ·  view source on GitHub ↗
(FrameType expected, FrameType frameType, int streamId, int flags, int payloadSize)

Source from the content-addressed store, hash-verified

703 * not all frame types, use your judgement.
704 */
705 protected void validateFrame(FrameType expected, FrameType frameType, int streamId, int flags, int payloadSize)
706 throws Http2Exception {
707
708 if (log.isTraceEnabled()) {
709 log.trace(sm.getString("http2Parser.processFrame", connectionId, Integer.toString(streamId), frameType,
710 Integer.toString(flags), Integer.toString(payloadSize)));
711 }
712
713 if (expected != null && frameType != expected) {
714 throw new StreamException(sm.getString("http2Parser.processFrame.unexpectedType", expected, frameType),
715 Http2Error.PROTOCOL_ERROR, streamId);
716 }
717
718 int maxFrameSize = input.getMaxFrameSize();
719 if (payloadSize > maxFrameSize) {
720 throw new ConnectionException(sm.getString("http2Parser.payloadTooBig", Integer.toString(payloadSize),
721 Integer.toString(maxFrameSize)), Http2Error.FRAME_SIZE_ERROR);
722 }
723
724 if (headersCurrentStream != -1) {
725 if (headersCurrentStream != streamId) {
726 throw new ConnectionException(
727 sm.getString("http2Parser.headers.wrongStream", connectionId,
728 Integer.toString(headersCurrentStream), Integer.toString(streamId)),
729 Http2Error.COMPRESSION_ERROR);
730 }
731 if (frameType == FrameType.RST) {
732 // NO-OP: RST is OK here
733 } else if (frameType != FrameType.CONTINUATION) {
734 throw new ConnectionException(sm.getString("http2Parser.headers.wrongFrameType", connectionId,
735 Integer.toString(headersCurrentStream), frameType), Http2Error.COMPRESSION_ERROR);
736 }
737 }
738
739 frameType.check(streamId, payloadSize);
740 }
741
742
743 /**

Callers 3

readFrameMethod · 0.95
validateMethod · 0.80
completedMethod · 0.80

Calls 6

isTraceEnabledMethod · 0.65
traceMethod · 0.65
getStringMethod · 0.65
toStringMethod · 0.65
getMaxFrameSizeMethod · 0.65
checkMethod · 0.65

Tested by

no test coverage detected