AusweisApp2
HttpServer.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "HttpRequest.h"
10 #include "PortFile.h"
11 
12 #include <QMetaMethod>
13 #include <QTcpServer>
14 #include <QVector>
15 
16 namespace governikus
17 {
18 
20  : public QObject
21 {
22  Q_OBJECT
23 
24  private:
25  QVector<QTcpServer*> mServer;
26  PortFile mPortFile;
27 
28  void shutdown();
29  void bindAddresses(quint16 pPort, const QVector<QHostAddress>& pAddresses);
30  bool checkReceiver(const QMetaMethod& pSignal, HttpRequest* pRequest);
31 
32  public:
33  static quint16 cPort;
34  static QVector<QHostAddress> cAddresses;
35  static QString getDefault();
36 
37  explicit HttpServer(quint16 pPort = HttpServer::cPort,
38  const QVector<QHostAddress>& pAddresses = HttpServer::cAddresses);
39  ~HttpServer() override;
40 
41  [[nodiscard]] int boundAddresses() const;
42  [[nodiscard]] bool isListening() const;
43  [[nodiscard]] quint16 getServerPort() const;
44  void rebind(quint16 pPort = 0, const QVector<QHostAddress>& pAddresses = HttpServer::cAddresses);
45 
46  private Q_SLOTS:
47  void onNewConnection();
48  void onMessageComplete(HttpRequest* pRequest);
49 
50  Q_SIGNALS:
51  void fireNewHttpRequest(const QSharedPointer<HttpRequest>& pRequest);
52  void fireNewWebSocketRequest(const QSharedPointer<HttpRequest>& pRequest);
53  void fireRebound();
54 };
55 
56 } // namespace governikus
Definition: HttpRequest.h:31
Definition: HttpServer.h:21
void fireNewWebSocketRequest(const QSharedPointer< HttpRequest > &pRequest)
quint16 getServerPort() const
Definition: HttpServer.cpp:108
int boundAddresses() const
Definition: HttpServer.cpp:94
static QString getDefault()
Definition: HttpServer.cpp:157
void fireNewHttpRequest(const QSharedPointer< HttpRequest > &pRequest)
bool isListening() const
Definition: HttpServer.cpp:100
void rebind(quint16 pPort=0, const QVector< QHostAddress > &pAddresses=HttpServer::cAddresses)
Definition: HttpServer.cpp:119
static QVector< QHostAddress > cAddresses
Definition: HttpServer.h:34
~HttpServer() override
Definition: HttpServer.cpp:28
static quint16 cPort
Definition: HttpServer.h:33
HttpServer(quint16 pPort=HttpServer::cPort, const QVector< QHostAddress > &pAddresses=HttpServer::cAddresses)
Definition: HttpServer.cpp:19
Definition: PortFile.h:16
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16