/*!
\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));
if (Q_UNLIKELY(!conversionOk)) {
clear();
m_isValid = false;
- return textStream;
+ return;
}
QString headerLine = textStream.readLine();
m_headers.clear();
QString::SkipEmptyParts);
if (Q_UNLIKELY(headerField.length() < 2)) {
clear();
- return textStream;
+ return;
}
m_headers.insertMulti(headerField.at(0), headerField.at(1));
headerLine = textStream.readLine();
(void)(*i).toUInt(&ok);
if (!ok) {
clear();
- return textStream;
+ return;
}
const QWebSocketProtocol::Version ver =
QWebSocketProtocol::versionFromString((*i).trimmed());
(!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
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;
QUrl m_requestUrl;
};
-Q_AUTOTEST_EXPORT QTextStream & operator >>(QTextStream &stream,
- QWebSocketHandshakeRequest &request);
-
QT_END_NAMESPACE
#endif // QWEBSOCKETHANDSHAKEREQUEST_P_H
QWebSocketHandshakeRequest request(pTcpSocket->peerPort(), isSecure);
QTextStream textStream(pTcpSocket);
- textStream >> request;
+ request.readHandshake(textStream);
if (request.isValid()) {
QWebSocketCorsAuthenticator corsAuthenticator(request.origin());
textStream << dataStream;
textStream.seek(0);
- textStream >> request;
+ request.readHandshake(textStream);
QVERIFY(!request.isValid());
QCOMPARE(request.port(), 80);
textStream << header;
textStream.seek(0);
- textStream >> request;
+ request.readHandshake(textStream);
QVERIFY(request.isValid());
QCOMPARE(request.port(), 80);
textStream << header;
textStream.seek(0);
- textStream >> request;
+ request.readHandshake(textStream);
QVERIFY(request.isValid());
QCOMPARE(request.port(), 80);