AusweisApp2
HttpServerRequestor.h
gehe zur Dokumentation dieser Datei
1 /*
2  * \brief Sends one time GET requests to server.
3  *
4  * \copyright Copyright (c) 2014-2022 Governikus GmbH & Co. KG, Germany
5  */
6 
7 #pragma once
8 
9 #include "NetworkManager.h"
10 
11 #include <QEventLoop>
12 #include <QHostAddress>
13 #include <QNetworkReply>
14 #include <QSharedPointer>
15 #include <QTimer>
16 
17 namespace governikus
18 {
19 
21  : public NetworkManager
22 {
23  Q_OBJECT
24 
26 };
27 
29  : public QObject
30 {
31  Q_OBJECT
32 
33  private:
34  QPointer<NetworkManager> mNetworkManager;
35  QEventLoop mEventLoop;
36  QTimer mTimer;
37 
38  [[nodiscard]] QPointer<NetworkManager> getNetworkManager(bool pCustomNetworkManager);
39  [[nodiscard]] QSharedPointer<QNetworkReply> waitForReply(QSharedPointer<QNetworkReply> pReply, int pTimeOut);
40 
41  public:
42  explicit HttpServerRequestor(bool pCustomNetworkManager = false);
43  ~HttpServerRequestor() override = default;
44 
45  [[nodiscard]] QSharedPointer<QNetworkReply> getRequest(const QUrl& pUrl, int pTimeOut = 2000);
46  [[nodiscard]] QSharedPointer<QNetworkReply> postRequest(const QUrl& pUrl, const QByteArray& pData, const QString& pContentType, int pTimeOut = 2000);
47  [[nodiscard]] QSharedPointer<QNetworkReply> deleteRequest(const QUrl& pUrl, int pTimeOut = 2000);
48 
49  static QUrl createUrl(const QString& pQuery, quint16 pPort, const QHostAddress& pHost, const QString& pPath = QStringLiteral("/eID-Client"));
50 
51  private Q_SLOTS:
52  void finished();
53 };
54 
55 } // namespace governikus
Definition: HttpServerRequestor.h:30
QSharedPointer< QNetworkReply > getRequest(const QUrl &pUrl, int pTimeOut=2000)
Definition: HttpServerRequestor.cpp:55
HttpServerRequestor(bool pCustomNetworkManager=false)
Definition: HttpServerRequestor.cpp:17
QSharedPointer< QNetworkReply > deleteRequest(const QUrl &pUrl, int pTimeOut=2000)
Definition: HttpServerRequestor.cpp:74
static QUrl createUrl(const QString &pQuery, quint16 pPort, const QHostAddress &pHost, const QString &pPath=QStringLiteral("/eID-Client"))
Definition: HttpServerRequestor.cpp:43
~HttpServerRequestor() override=default
QSharedPointer< QNetworkReply > postRequest(const QUrl &pUrl, const QByteArray &pData, const QString &pContentType, int pTimeOut=2000)
Definition: HttpServerRequestor.cpp:64
Definition: NetworkManager.h:28
NetworkManager()
Definition: NetworkManager.cpp:30
Definition: HttpServerRequestor.h:22
A simple template renderer.
Definition: ActivationContext.h:15