diff options
author | Kurt Pattyn <pattyn.kurt@gmail.com> | 2013-10-13 21:27:50 +0200 |
---|---|---|
committer | Kurt Pattyn <pattyn.kurt@gmail.com> | 2013-10-14 11:17:05 +0200 |
commit | c779c39ee591b8e3581b61e4ee4187730210113a (patch) | |
tree | cb33bcd5157ac818f1053350c59e2a34ef59040f | |
parent | 3bad4a3bfc72e7943f0197c712980571160fce3b (diff) | |
download | qtwebsockets-c779c39ee591b8e3581b61e4ee4187730210113a.tar.gz |
Replaced getter methods of HandshakeResponse to be in line with Qt
Change-Id: I23d9e75413c04a8a2f43ea0b940a0bab33d8d8de
Reviewed-by: Steven Ceuppens <steven.ceuppens@icloud.com>
-rw-r--r-- | src/websockets/qwebsocket_p.cpp | 6 | ||||
-rw-r--r-- | src/websockets/qwebsockethandshakeresponse_p.cpp | 6 | ||||
-rw-r--r-- | src/websockets/qwebsockethandshakeresponse_p.h | 7 | ||||
-rw-r--r-- | src/websockets/qwebsocketserver_p.cpp | 63 | ||||
-rw-r--r-- | src/websockets/qwebsocketserver_p.h | 2 |
5 files changed, 45 insertions, 39 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 42648a1..ca7e903 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -192,11 +192,11 @@ QWebSocket *QWebSocketPrivate::upgradeFrom(QTcpSocket *pTcpSocket, const QWebSocketHandshakeResponse &response, QObject *parent) { - QWebSocket *pWebSocket = new QWebSocket(pTcpSocket, response.getAcceptedVersion(), parent); - pWebSocket->d_func()->setExtension(response.getAcceptedExtension()); + QWebSocket *pWebSocket = new QWebSocket(pTcpSocket, response.acceptedVersion(), parent); + pWebSocket->d_func()->setExtension(response.acceptedExtension()); pWebSocket->d_func()->setOrigin(request.origin()); pWebSocket->d_func()->setRequestUrl(request.requestUrl()); - pWebSocket->d_func()->setProtocol(response.getAcceptedProtocol()); + pWebSocket->d_func()->setProtocol(response.acceptedProtocol()); pWebSocket->d_func()->setResourceName(request.requestUrl().toString(QUrl::RemoveUserInfo)); //a server should not send masked frames pWebSocket->d_func()->enableMasking(false); diff --git a/src/websockets/qwebsockethandshakeresponse_p.cpp b/src/websockets/qwebsockethandshakeresponse_p.cpp index 56f0041..196b3fe 100644 --- a/src/websockets/qwebsockethandshakeresponse_p.cpp +++ b/src/websockets/qwebsockethandshakeresponse_p.cpp @@ -77,7 +77,7 @@ bool QWebSocketHandshakeResponse::canUpgrade() const /*! \internal */ -QString QWebSocketHandshakeResponse::getAcceptedProtocol() const +QString QWebSocketHandshakeResponse::acceptedProtocol() const { return m_acceptedProtocol; } @@ -204,7 +204,7 @@ QTextStream &operator <<(QTextStream &stream, const QWebSocketHandshakeResponse /*! \internal */ -QWebSocketProtocol::Version QWebSocketHandshakeResponse::getAcceptedVersion() const +QWebSocketProtocol::Version QWebSocketHandshakeResponse::acceptedVersion() const { return m_acceptedVersion; } @@ -212,7 +212,7 @@ QWebSocketProtocol::Version QWebSocketHandshakeResponse::getAcceptedVersion() co /*! \internal */ -QString QWebSocketHandshakeResponse::getAcceptedExtension() const +QString QWebSocketHandshakeResponse::acceptedExtension() const { return m_acceptedExtension; } diff --git a/src/websockets/qwebsockethandshakeresponse_p.h b/src/websockets/qwebsockethandshakeresponse_p.h index 0d11ed7..e05132b 100644 --- a/src/websockets/qwebsockethandshakeresponse_p.h +++ b/src/websockets/qwebsockethandshakeresponse_p.h @@ -31,6 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #include <QObject> +#include <QList> #include "qwebsocketprotocol.h" QT_BEGIN_NAMESPACE @@ -56,9 +57,9 @@ public: bool isValid() const; bool canUpgrade() const; - QString getAcceptedProtocol() const; - QString getAcceptedExtension() const; - QWebSocketProtocol::Version getAcceptedVersion() const; + QString acceptedProtocol() const; + QString acceptedExtension() const; + QWebSocketProtocol::Version acceptedVersion() const; public Q_SLOTS: diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 4b6815c..0f57a75 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -298,54 +298,59 @@ void QWebSocketServerPrivate::handshakeReceived() { bool success = false; bool isSecure = false; + + disconnect(pTcpSocket, SIGNAL(readyRead()), this, SLOT(handshakeReceived())); + QWebSocketHandshakeRequest request(pTcpSocket->peerPort(), isSecure); QTextStream textStream(pTcpSocket); textStream >> request; - QWebSocketCorsAuthenticator corsAuthenticator(request.origin()); - Q_EMIT q->originAuthenticationRequired(&corsAuthenticator); - - QWebSocketHandshakeResponse response(request, - m_serverName, - corsAuthenticator.allowed(), - supportedVersions(), - supportedProtocols(), - supportedExtensions()); - disconnect(pTcpSocket, SIGNAL(readyRead()), this, SLOT(handshakeReceived())); - - if (response.isValid()) + if (request.isValid()) { - QTextStream httpStream(pTcpSocket); - httpStream << response; - httpStream.flush(); + QWebSocketCorsAuthenticator corsAuthenticator(request.origin()); + Q_EMIT q->originAuthenticationRequired(&corsAuthenticator); - if (response.canUpgrade()) + QWebSocketHandshakeResponse response(request, + m_serverName, + corsAuthenticator.allowed(), + supportedVersions(), + supportedProtocols(), + supportedExtensions()); + + if (response.isValid()) { - QWebSocket *pWebSocket = QWebSocketPrivate::upgradeFrom(pTcpSocket, request, response); - if (pWebSocket) + QTextStream httpStream(pTcpSocket); + httpStream << response; + httpStream.flush(); + + if (response.canUpgrade()) { - pWebSocket->setParent(this); - addPendingConnection(pWebSocket); - Q_EMIT q->newConnection(); - success = true; + QWebSocket *pWebSocket = QWebSocketPrivate::upgradeFrom(pTcpSocket, request, response); + if (pWebSocket) + { + pWebSocket->setParent(this); + addPendingConnection(pWebSocket); + Q_EMIT q->newConnection(); + success = true; + } + else + { + //TODO: should set or emit error + qDebug() << tr("Upgrading to websocket failed."); + } } else { //TODO: should set or emit error - qDebug() << tr("Upgrading to websocket failed."); + qDebug() << tr("Cannot upgrade to websocket."); } } else { //TODO: should set or emit error - qDebug() << tr("Cannot upgrade to websocket."); + qDebug() << tr("Invalid response received."); } } - else - { - //TODO: should set or emit error - qDebug() << tr("Invalid response received."); - } if (!success) { //TODO: should set or emit error diff --git a/src/websockets/qwebsocketserver_p.h b/src/websockets/qwebsocketserver_p.h index defad46..41cbcfc 100644 --- a/src/websockets/qwebsocketserver_p.h +++ b/src/websockets/qwebsocketserver_p.h @@ -70,7 +70,7 @@ public: void setMaxPendingConnections(int numConnections); bool setSocketDescriptor(int socketDescriptor); int socketDescriptor() const; - bool waitForNewConnection(int msec = 0, bool *timedOut = 0); + bool waitForNewConnection(int msec = 0, bool *timedOut = Q_NULLPTR); QList<QWebSocketProtocol::Version> supportedVersions() const; QList<QString> supportedProtocols() const; |