Source code
Revision control
Copy as Markdown
/**
* Qt6 Common library
*
* Copyright (C) 2026 The Qt Company Ltd.
* SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
*
* Do not edit the class manually.
*/
#ifndef QOAI_HTTPREQUESTWORKER_H
#define QOAI_HTTPREQUESTWORKER_H
#include <QtOpenApiCommon/qoaicmakecommonlibgeneratedclientcommonexports.h>
#include <QtCore/qcontainerfwd.h>
#include <QtCore/qstring.h> // for argument default value initialization
#include <memory>
QT_BEGIN_NAMESPACE
class QHttpHeaders;
class QHttpMultiPart;
class QNetworkRequest;
class QNetworkRequestFactory;
class QRestAccessManager;
class QRestReply;
class QUrlQuery;
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
namespace QtOpenApiCommon {
class QOAIHttpFileElement;
enum class QOAIFileConflictPolicy {
Rename, //!< Default: append numeric suffix: file.txt -> file (1).txt
Overwrite, //!< Silently overwrite existing file
Error //!< Fail the operation if file already exists
};
class QOAIHttpRequestInputPrivate;
class QOAIHttpRequestInput
{
public:
enum class VariableLayout {
NotSet,
Address,
UrlEncoded,
Multipart,
};
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QOAIHttpRequestInput();
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT ~QOAIHttpRequestInput();
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT
QOAIHttpRequestInput(const QString &vUrlStr, const QString &vHttpMethod);
Q_DISABLE_COPY_MOVE(QOAIHttpRequestInput)
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT
void addVariable(const QString &key, const QString &value);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT
void addFieldHeaders(const QString &key, const QString &value);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT
void addFile(const QString &variableName, const QString &localFilename, const QString &mimeType);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT void setVariableLayout(VariableLayout layout);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT VariableLayout variableLayout() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT void setHeaders(const QHttpHeaders &newHeaders);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QHttpHeaders headers() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QHttpHeaders &headers();
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT void setIsFormData(bool isForm);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT bool isFormData() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QString httpMethod() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT bool hasMultiPart() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QHttpMultiPart* multiPart() const;
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QHttpMultiPart* takeMultiPart();
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT void setRequestBody(const QByteArray &data);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QByteArray requestBody() const;
private:
friend bool
operator==(const QOAIHttpRequestInput &lhs, const QOAIHttpRequestInput &rhs) = delete;
friend bool
operator!=(const QOAIHttpRequestInput &lhs, const QOAIHttpRequestInput &rhs) = delete;
friend size_t qHash(const QOAIHttpRequestInput &value) = delete;
friend size_t qHash(const QOAIHttpRequestInput &value, size_t seed) = delete;
friend class QOAIHttpRequestInputPrivate;
std::unique_ptr<QOAIHttpRequestInputPrivate> d_ptr;
};
struct CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QOAIHttpResponseParseParameters
{
QMap<QString, QOAIHttpFileElement> *m_files = nullptr;
QOAIFileConflictPolicy m_fileConflictPolicy = QOAIFileConflictPolicy::Rename;
qint64 m_safetyThresholdSize = -1;
};
namespace QOAIHttpRequestWorker {
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QOAIHttpFileElement getHttpFileElement(const QMap<QString, QOAIHttpFileElement> &files, const QString &fieldname = {});
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QNetworkRequest getNetworkRequest(QOAIHttpRequestInput &input, QByteArray &requestContent, QNetworkRequestFactory factory, bool responseCompressionEnabled, bool requestCompressionEnabled);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QByteArray parseResponse(const QRestReply &reply, const QString &workDir, const QOAIHttpResponseParseParameters &data);
enum class CompressionType {
Deflate,
Gzip,
None,
};
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QByteArray decompressData(const QByteArray &data, CompressionType compressionType, qint64 safetyThresholdSize = -1);
CMAKECOMMONLIBGENERATEDCLIENT_COMMON_EXPORT QByteArray compressData(const QByteArray &input, int level, CompressionType compressionType);
} // namespace QOAIHttpRequestWorker
} // namespace QtOpenApiCommon
QT_END_NAMESPACE
#endif // QOAI_HTTPREQUESTWORKER_H