1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QNETWORKREQUESTFACTORY_P_H
6#define QNETWORKREQUESTFACTORY_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists for the convenience
13// of the Network Access framework. This header file may change from
14// version to version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtNetwork/qhttpheaders.h>
20#include <QtNetwork/qnetworkrequest.h>
21#if QT_CONFIG(ssl)
22#include <QtNetwork/qsslconfiguration.h>
23#endif
24#include <QtCore/qhash.h>
25#include <QtCore/qshareddata.h>
26#include <QtCore/qurl.h>
27#include <QtCore/qurlquery.h>
28#include <QtCore/qvariant.h>
29
30QT_BEGIN_NAMESPACE
31
32class QNetworkRequestFactoryPrivate : public QSharedData
33{
34public:
35 QNetworkRequestFactoryPrivate();
36 explicit QNetworkRequestFactoryPrivate(const QUrl &baseUrl);
37 QNetworkRequest newRequest(const QUrl &url) const;
38 QUrl requestUrl(const QString *path = nullptr, const QUrlQuery *query = nullptr) const;
39
40#if QT_CONFIG(ssl)
41 QSslConfiguration sslConfig;
42#endif
43 QUrl baseUrl;
44 QHttpHeaders headers;
45 QByteArray bearerToken;
46 QString userName;
47 QString password;
48 QUrlQuery queryParameters;
49 QNetworkRequest::Priority priority = QNetworkRequest::NormalPriority;
50 std::chrono::milliseconds transferTimeout{0};
51 QHash<QNetworkRequest::Attribute, QVariant> attributes;
52};
53
54QT_END_NAMESPACE
55
56#endif // QNETWORKREQUESTFACTORY_P_H
57

source code of qtbase/src/network/access/qnetworkrequestfactory_p.h