18#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
19#include <QtSystemDetection>
24#include <netinet/in.h>
30#include <QReadWriteLock>
36#include <QSslConfiguration>
48class HttpWorkerThread;
53class QSslConfiguration;
79 int m_nSocketTimeout { -1 };
89 : m_sName(
std::move( sName )), m_sSharePath(
std::move( sSharePath )) {};
135 m_rwlock.lockForRead();
136 bool tmp = m_running;
141 static QString GetPlatform(
void);
142 static QString GetServerVersion(
void);
151 bool m_running {
true };
163 void newTcpConnection(qintptr socket)
override;
166 void LoadSSLConfig();
189 ,
const QSslConfiguration& sslConfig
193 void run(
void)
override;
~HttpServerExtension() override=default
HttpServerExtension(QString sName, QString sSharePath)
virtual int GetSocketTimeout() const
virtual QStringList GetBasePaths()=0
virtual bool ProcessRequest(HTTPRequest *pRequest)=0
QMultiMap< QString, HttpServerExtension * > m_basePaths
static QMutex s_platformLock
bool IsRunning(void) const
HttpServerExtensionList m_extensions
static QString s_platform
QString GetSharePath(void) const
QSslConfiguration m_sslConfig
const QString m_privateToken
HttpWorker(HttpServer &httpServer, qintptr sock, PoolServerType type, const QSslConfiguration &sslConfig)
HttpServer & m_httpServer
PoolServerType m_connectionType
std::chrono::milliseconds m_socketTimeout
QSslConfiguration m_sslConfig
Manages a collection of sockets listening on different ports.
QList< QPointer< HttpServerExtension > > HttpServerExtensionList