summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@theqtcompany.com>2016-08-17 12:27:31 +0200
committerTimur Pocheptsov <timur.pocheptsov@theqtcompany.com>2016-08-17 20:23:34 +0000
commit3c5b9977cde8ede3377fc5c53faaf19c258256a6 (patch)
treec3a4fb75b2169a3c5343b5dd5f48eb2f374434b5 /src/network
parent02a03e52f7456009818ec5c3a403242768d4fcf0 (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.cpp1
-rw-r--r--src/network/access/qhttp2protocolhandler.cpp2
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()) {