AusweisApp
Lade ...
Suche ...
Keine Treffer
NetworkManager.h
gehe zur Dokumentation dieser Datei
1
5/*
6 * \brief Wrapper around QNetworkAccessManager
7 */
8
9#pragma once
10
11#include "Env.h"
12#include "GlobalStatus.h"
13#include "LogHandler.h"
14
15#include <QAtomicInt>
16#include <QAuthenticator>
17#include <QDebug>
18#include <QNetworkAccessManager>
19#include <QNetworkProxy>
20#include <QNetworkReply>
21#include <QSsl>
22
23class test_NetworkManager;
24
25namespace governikus
26{
27
29 : public QObject
30{
32 friend class Env;
33 friend class ::test_NetworkManager;
34
35 private:
36 static bool mLockProxy;
37
38 QNetworkAccessManager mNetAccessManager;
39 bool mApplicationExitInProgress;
40 QAtomicInt mOpenConnectionCount;
41 QSet<QByteArray> mUpdaterSessions;
42
43 bool prepareConnection(QNetworkRequest& pRequest) const;
44 [[nodiscard]] QSharedPointer<QNetworkReply> trackConnection(QNetworkReply* pResponse);
49
50 public Q_SLOTS:
51 void onShutdown();
52 void onProxyChanged() const;
53
54 protected:
56 ~NetworkManager() override = default;
57
58 public:
70
71 [[nodiscard]] static QString getUserAgentServerHeader();
72 static void setApplicationProxyFactory();
73 static void lockProxy(bool pLocked)
74 {
75 mLockProxy = pLocked;
76 }
77
78
84 [[nodiscard]] static QString getTlsVersionString(QSsl::SslProtocol pProtocol);
86 [[nodiscard]] static QString getFormattedStatusMessage(int pStatus);
87
88 virtual void clearConnections();
91 const QByteArray& pData,
92 bool pUsePsk = true,
96 const QByteArray& pData);
100
103 const QByteArray& pData);
104
105 [[nodiscard]] int getOpenConnectionCount() const;
106
107 Q_SIGNALS:
110};
111
112} // namespace governikus
113
114QDebug operator <<(QDebug pDbg, QSsl::SslProtocol pProtocol);
QDebug operator<<(QDebug pDbg, QSsl::SslProtocol pProtocol)
Definition Env.h:42
Definition GlobalStatus.h:22
Definition LogHandler.h:35
Definition NetworkManager.h:30
QSharedPointer< QNetworkReply > getAsUpdater(QNetworkRequest &pRequest)
Definition NetworkManager.cpp:118
virtual QSharedPointer< QNetworkReply > head(QNetworkRequest &pRequest)
Definition NetworkManager.cpp:102
virtual QSharedPointer< QNetworkReply > get(QNetworkRequest &pRequest)
Definition NetworkManager.cpp:75
virtual QSharedPointer< QNetworkReply > paos(QNetworkRequest &pRequest, const QByteArray &pNamespace, const QByteArray &pData, bool pUsePsk=true, const QByteArray &pSslSession=QByteArray())
Definition NetworkManager.cpp:54
NetworkError
Definition NetworkManager.h:60
void onShutdown()
Definition NetworkManager.cpp:218
virtual QSharedPointer< QNetworkReply > post(QNetworkRequest &pRequest, const QByteArray &pData)
Definition NetworkManager.cpp:83
virtual QSharedPointer< QNetworkReply > deleteResource(QNetworkRequest &pRequest)
Definition NetworkManager.cpp:94
~NetworkManager() override=default
virtual QSharedPointer< QNetworkReply > options(QNetworkRequest &pRequest)
Definition NetworkManager.cpp:110
void onProxyChanged() const
Definition NetworkManager.cpp:227
NetworkManager()
Definition NetworkManager.cpp:27
QSharedPointer< QNetworkReply > postAsUpdater(QNetworkRequest &pRequest, const QByteArray &pData)
Definition NetworkManager.cpp:126
virtual void clearConnections()
Definition NetworkManager.cpp:47
static GlobalStatus toStatus(const QSharedPointer< const QNetworkReply > &pNetworkReply)
Definition NetworkManager.cpp:311
static QString getFormattedStatusMessage(int pStatus)
Definition NetworkManager.cpp:402
static void setApplicationProxyFactory()
Definition NetworkManager.cpp:500
static NetworkError toNetworkError(const QSharedPointer< const QNetworkReply > &pNetworkReply)
Definition NetworkManager.cpp:233
static int getLoggedStatusCode(const QSharedPointer< const QNetworkReply > &pReply, const MessageLogger &pLogger)
Definition NetworkManager.cpp:421
static QByteArray getStatusMessage(int pStatus)
Definition NetworkManager.cpp:387
static void lockProxy(bool pLocked)
Definition NetworkManager.h:73
static QString getUserAgentServerHeader()
Definition NetworkManager.cpp:209
static GlobalStatus toTrustedChannelStatus(const QSharedPointer< const QNetworkReply > &pNetworkReply)
Definition NetworkManager.cpp:278
int getOpenConnectionCount() const
Definition NetworkManager.cpp:41
static bool isLoggingAllowed(const QSharedPointer< const QNetworkReply > &pReply)
Definition NetworkManager.cpp:408
static QString getTlsVersionString(QSsl::SslProtocol pProtocol)
void fireProxyAuthenticationRequired(const QNetworkProxy &pProxy, QAuthenticator *pAuthenticator)
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114