12 #ifndef hifi_HTTPSManager_h
13 #define hifi_HTTPSManager_h
15 #include <QtNetwork/QSslKey>
16 #include <QtNetwork/QSslCertificate>
18 #include "HTTPManager.h"
20 class HTTPSRequestHandler :
public HTTPRequestHandler {
23 virtual bool handleHTTPSRequest(HTTPSConnection* connection,
const QUrl& url,
bool skipSubHandler =
false) = 0;
26 class HTTPSManager :
public HTTPManager,
public HTTPSRequestHandler {
29 HTTPSManager(QHostAddress listenAddress,
31 const QSslCertificate& certificate,
32 const QSslKey& privateKey,
33 const QString& documentRoot,
34 HTTPSRequestHandler* requestHandler =
nullptr);
36 void setCertificate(
const QSslCertificate& certificate) { _certificate = certificate; }
37 void setPrivateKey(
const QSslKey& privateKey) { _privateKey = privateKey; }
39 bool handleHTTPRequest(
HTTPConnection* connection,
const QUrl& url,
bool skipSubHandler =
false)
override;
40 bool handleHTTPSRequest(HTTPSConnection* connection,
const QUrl& url,
bool skipSubHandler =
false)
override;
44 bool requestHandledByRequestHandler(
HTTPConnection* connection,
const QUrl& url)
override;
46 QSslCertificate _certificate;
48 HTTPSRequestHandler* _sslRequestHandler;
Handles a single HTTP connection.
Definition: HTTPConnection.h:43
Handles HTTP connections.
Definition: HTTPManager.h:32
virtual void incomingConnection(qintptr socketDescriptor) override
Accepts all pending connections.
Definition: HTTPManager.cpp:40