summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-17 12:39:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-17 13:45:59 +0100
commitea7c77e87f317cd72278ba4f9955b74b9cdfeedf (patch)
treecbe3ed239a8ac9de75611004c6efced2703f004b /src
parent3e31e8e89ed6ca8e85ce89ef444605f11e9e3d5b (diff)
downloadqtwebsockets-ea7c77e87f317cd72278ba4f9955b74b9cdfeedf.tar.gz
Simplify handshake reading functions
Change-Id: I000243e717b79972caa676ff10f68901904f28c9 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/websockets/qwebsockethandshakerequest.cpp21
-rw-r--r--src/websockets/qwebsockethandshakerequest_p.h8
-rw-r--r--src/websockets/qwebsocketserver_p.cpp2
3 files changed, 9 insertions, 22 deletions
diff --git a/src/websockets/qwebsockethandshakerequest.cpp b/src/websockets/qwebsockethandshakerequest.cpp
index 6708d4b..fbc25a7 100644
--- a/src/websockets/qwebsockethandshakerequest.cpp
+++ b/src/websockets/qwebsockethandshakerequest.cpp
@@ -192,18 +192,18 @@ QUrl QWebSocketHandshakeRequest::requestUrl() const
/*!
\internal
*/
-QTextStream &QWebSocketHandshakeRequest::readFromStream(QTextStream &textStream)
+void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream)
{
m_isValid = false;
clear();
if (Q_UNLIKELY(textStream.status() != QTextStream::Ok))
- return textStream;
+ return;
const QString requestLine = textStream.readLine();
const QStringList tokens = requestLine.split(' ', QString::SkipEmptyParts);
if (Q_UNLIKELY(tokens.length() < 3)) {
m_isValid = false;
clear();
- return textStream;
+ return;
}
const QString verb(tokens.at(0));
const QString resourceName(tokens.at(1));
@@ -214,7 +214,7 @@ QTextStream &QWebSocketHandshakeRequest::readFromStream(QTextStream &textStream)
if (Q_UNLIKELY(!conversionOk)) {
clear();
m_isValid = false;
- return textStream;
+ return;
}
QString headerLine = textStream.readLine();
m_headers.clear();
@@ -223,7 +223,7 @@ QTextStream &QWebSocketHandshakeRequest::readFromStream(QTextStream &textStream)
QString::SkipEmptyParts);
if (Q_UNLIKELY(headerField.length() < 2)) {
clear();
- return textStream;
+ return;
}
m_headers.insertMulti(headerField.at(0), headerField.at(1));
headerLine = textStream.readLine();
@@ -246,7 +246,7 @@ QTextStream &QWebSocketHandshakeRequest::readFromStream(QTextStream &textStream)
(void)(*i).toUInt(&ok);
if (!ok) {
clear();
- return textStream;
+ return;
}
const QWebSocketProtocol::Version ver =
QWebSocketProtocol::versionFromString((*i).trimmed());
@@ -294,15 +294,6 @@ QTextStream &QWebSocketHandshakeRequest::readFromStream(QTextStream &textStream)
(!connectionValues.contains(QStringLiteral("upgrade"), Qt::CaseInsensitive)));
if (Q_UNLIKELY(!m_isValid))
clear();
- return textStream;
-}
-
-/*!
- \internal
- */
-QTextStream &operator >>(QTextStream &stream, QWebSocketHandshakeRequest &request)
-{
- return request.readFromStream(stream);
}
QT_END_NAMESPACE
diff --git a/src/websockets/qwebsockethandshakerequest_p.h b/src/websockets/qwebsockethandshakerequest_p.h
index a7829a0..c54ab2f 100644
--- a/src/websockets/qwebsockethandshakerequest_p.h
+++ b/src/websockets/qwebsockethandshakerequest_p.h
@@ -86,10 +86,9 @@ public:
QString resourceName() const;
QString host() const;
+ void readHandshake(QTextStream &textStream);
+
private:
- QTextStream &readFromStream(QTextStream &textStream);
- Q_AUTOTEST_EXPORT friend QTextStream &operator >>(QTextStream &stream,
- QWebSocketHandshakeRequest &request);
int m_port;
bool m_isSecure;
@@ -103,9 +102,6 @@ private:
QUrl m_requestUrl;
};
-Q_AUTOTEST_EXPORT QTextStream & operator >>(QTextStream &stream,
- QWebSocketHandshakeRequest &request);
-
QT_END_NAMESPACE
#endif // QWEBSOCKETHANDSHAKEREQUEST_P_H
diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp
index cb811c2..747586c 100644
--- a/src/websockets/qwebsocketserver_p.cpp
+++ b/src/websockets/qwebsocketserver_p.cpp
@@ -395,7 +395,7 @@ void QWebSocketServerPrivate::handshakeReceived()
QWebSocketHandshakeRequest request(pTcpSocket->peerPort(), isSecure);
QTextStream textStream(pTcpSocket);
- textStream >> request;
+ request.readHandshake(textStream);
if (request.isValid()) {
QWebSocketCorsAuthenticator corsAuthenticator(request.origin());