diff options
author | Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> | 2016-08-17 12:27:31 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> | 2016-08-17 20:23:34 +0000 |
commit | 3c5b9977cde8ede3377fc5c53faaf19c258256a6 (patch) | |
tree | c3a4fb75b2169a3c5343b5dd5f48eb2f374434b5 /src/network | |
parent | 02a03e52f7456009818ec5c3a403242768d4fcf0 (diff) |
HTTP/2 - do not set END_HEADERS if we have CONTINUATIONs
Setting END_HEADERS flag on a HEADERS frame means we do not have
CONTINUATION frame(s). So do NOT set it too early, only if we
fit into a single frame.
Change-Id: I891a2db227cee59e4eacfe7c2f18b431cd85fe47
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/http2/http2frames.cpp | 1 | ||||
-rw-r--r-- | src/network/access/qhttp2protocolhandler.cpp | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/network/access/http2/http2frames.cpp b/src/network/access/http2/http2frames.cpp index 95f00dd286..763d1bb90f 100644 --- a/src/network/access/http2/http2frames.cpp +++ b/src/network/access/http2/http2frames.cpp @@ -478,6 +478,7 @@ bool FrameWriter::writeHEADERS(QAbstractSocket &socket, quint32 sizeLimit) sizeLimit = quint32(maxPayloadSize); if (quint32(frameBuffer.size() - frameHeaderSize) <= sizeLimit) { + addFlag(FrameFlag::END_HEADERS); updatePayloadSize(); return write(socket); } diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp index f50224f64a..a8de698741 100644 --- a/src/network/access/qhttp2protocolhandler.cpp +++ b/src/network/access/qhttp2protocolhandler.cpp @@ -328,7 +328,7 @@ bool QHttp2ProtocolHandler::sendHEADERS(Stream &stream) { using namespace HPack; - outboundFrame.start(FrameType::HEADERS, FrameFlag::PRIORITY | FrameFlag::END_HEADERS, + outboundFrame.start(FrameType::HEADERS, FrameFlag::PRIORITY, stream.streamID); if (!stream.data()) { |