summaryrefslogtreecommitdiffstats
path: root/src/httpserver/qabstracthttpserver.cpp
diff options
context:
space:
mode:
authorMikhail Svetkin <mikhail.svetkin@qt.io>2019-03-25 16:09:50 +0100
committerMikhail Svetkin <mikhail.svetkin@qt.io>2019-04-08 13:49:38 +0000
commit5147076e5ede09fafa96e147ab41dbb5744b8655 (patch)
tree2c8840d062c6e3069448d933bceaa6d6abf8dd1f /src/httpserver/qabstracthttpserver.cpp
parentbe06bd66b8c8613498df06026dd8f10164dbd4ff (diff)
Fix support for keep-alive connection
QAbstractHttpServer did not clear a request's internal properties (headers, url, body). If a request has a keep-alive header, QAbstractHttpServer should clear the request's internal properties. Change-Id: I2dfd0565369bd3291cd8d9900045c5a7f9d43ca3 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/httpserver/qabstracthttpserver.cpp')
-rw-r--r--src/httpserver/qabstracthttpserver.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/httpserver/qabstracthttpserver.cpp b/src/httpserver/qabstracthttpserver.cpp
index a00bbf4..c07e687 100644
--- a/src/httpserver/qabstracthttpserver.cpp
+++ b/src/httpserver/qabstracthttpserver.cpp
@@ -94,6 +94,9 @@ void QAbstractHttpServerPrivate::handleReadyRead()
if (!socket->isTransactionStarted())
socket->startTransaction();
+ if (requestPrivate->state == QHttpServerRequestPrivate::State::OnMessageComplete)
+ requestPrivate->clear();
+
if (!requestPrivate->parse(socket)) {
socket->disconnect();
return;