diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-01-17 12:39:05 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-17 13:45:59 +0100 |
commit | ea7c77e87f317cd72278ba4f9955b74b9cdfeedf (patch) | |
tree | cbe3ed239a8ac9de75611004c6efced2703f004b /src | |
parent | 3e31e8e89ed6ca8e85ce89ef444605f11e9e3d5b (diff) | |
download | qtwebsockets-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.cpp | 21 | ||||
-rw-r--r-- | src/websockets/qwebsockethandshakerequest_p.h | 8 | ||||
-rw-r--r-- | src/websockets/qwebsocketserver_p.cpp | 2 |
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()); |