20#include <netinet/in.h>
26#include <QReadWriteLock>
32#include <QSslConfiguration>
44class HttpWorkerThread;
49class QSslConfiguration;
75 int m_nSocketTimeout { -1 };
85 : m_sName(
std::move( sName )), m_sSharePath(
std::move( sSharePath )) {};
131 m_rwlock.lockForRead();
132 bool tmp = m_running;
137 static QString GetPlatform(
void);
138 static QString GetServerVersion(
void);
147 bool m_running {
true };
159 void newTcpConnection(qintptr socket)
override;
162 void LoadSSLConfig();
185 ,
const QSslConfiguration& sslConfig
189 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