mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-09 11:56:10 +00:00
[C++] [Qt5] Add initial version of File upload and download for Qt5 client (#3853)
* Add initial version of File upload and download for Qt5 client * Update after reviews * Remove unused header
This commit is contained in:
@@ -1 +1 @@
|
||||
4.1.0-SNAPSHOT
|
||||
4.1.2-SNAPSHOT
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAIApiResponse.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAIApiResponse::OAIApiResponse(QString json) {
|
||||
@@ -81,13 +81,13 @@ OAIApiResponse::asJson () const {
|
||||
QJsonObject
|
||||
OAIApiResponse::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_code_isSet){
|
||||
if(m_code_isSet){
|
||||
obj.insert(QString("code"), ::OpenAPI::toJsonValue(code));
|
||||
}
|
||||
if(m_type_isSet){
|
||||
if(m_type_isSet){
|
||||
obj.insert(QString("type"), ::OpenAPI::toJsonValue(type));
|
||||
}
|
||||
if(m_message_isSet){
|
||||
if(m_message_isSet){
|
||||
obj.insert(QString("message"), ::OpenAPI::toJsonValue(message));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAIApiResponse: public OAIObject {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAICategory.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAICategory::OAICategory(QString json) {
|
||||
@@ -75,10 +75,10 @@ OAICategory::asJson () const {
|
||||
QJsonObject
|
||||
OAICategory::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_id_isSet){
|
||||
if(m_id_isSet){
|
||||
obj.insert(QString("id"), ::OpenAPI::toJsonValue(id));
|
||||
}
|
||||
if(m_name_isSet){
|
||||
if(m_name_isSet){
|
||||
obj.insert(QString("name"), ::OpenAPI::toJsonValue(name));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAICategory: public OAIObject {
|
||||
|
||||
@@ -64,11 +64,23 @@ toStringValue(const double &value){
|
||||
return QString::number(value);
|
||||
}
|
||||
|
||||
QString
|
||||
toStringValue(const OAIObject &value){
|
||||
return value.asJson();
|
||||
}
|
||||
|
||||
|
||||
QString
|
||||
toStringValue(const OAIEnum &value){
|
||||
return value.asJson();
|
||||
}
|
||||
|
||||
QString
|
||||
toStringValue(const OAIHttpFileElement &value){
|
||||
return value.asJson();
|
||||
}
|
||||
|
||||
|
||||
QJsonValue
|
||||
toJsonValue(const QString &value){
|
||||
return QJsonValue(value);
|
||||
@@ -124,6 +136,12 @@ toJsonValue(const OAIEnum &value){
|
||||
return value.asJsonValue();
|
||||
}
|
||||
|
||||
QJsonValue
|
||||
toJsonValue(const OAIHttpFileElement &value){
|
||||
return value.asJsonValue();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
fromStringValue(const QString &inStr, QString &value){
|
||||
value.clear();
|
||||
@@ -218,6 +236,11 @@ fromStringValue(const QString &inStr, OAIEnum &value){
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
fromStringValue(const QString &inStr, OAIHttpFileElement &value){
|
||||
return value.fromStringValue(inStr);
|
||||
}
|
||||
|
||||
bool
|
||||
fromJsonValue(QString &value, const QJsonValue &jval){
|
||||
bool ok = true;
|
||||
@@ -346,4 +369,9 @@ fromJsonValue(OAIEnum &value, const QJsonValue &jval){
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
fromJsonValue(OAIHttpFileElement &value, const QJsonValue &jval){
|
||||
return value.fromJsonValue(jval);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,8 +22,10 @@
|
||||
#include <QByteArray>
|
||||
#include <QDate>
|
||||
#include <QVariant>
|
||||
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
#include "OAIHttpFileElement.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
@@ -36,7 +38,9 @@ namespace OpenAPI {
|
||||
QString toStringValue(const bool &value);
|
||||
QString toStringValue(const float &value);
|
||||
QString toStringValue(const double &value);
|
||||
QString toStringValue(const OAIEnum &value);
|
||||
QString toStringValue(const OAIObject &value);
|
||||
QString toStringValue(const OAIEnum &value);
|
||||
QString toStringValue(const OAIHttpFileElement &value);
|
||||
|
||||
template <typename T>
|
||||
QString toStringValue(const QList<T> &val) {
|
||||
@@ -61,6 +65,7 @@ namespace OpenAPI {
|
||||
QJsonValue toJsonValue(const double &value);
|
||||
QJsonValue toJsonValue(const OAIObject &value);
|
||||
QJsonValue toJsonValue(const OAIEnum &value);
|
||||
QJsonValue toJsonValue(const OAIHttpFileElement &value);
|
||||
|
||||
template <typename T>
|
||||
QJsonValue toJsonValue(const QList<T> &val) {
|
||||
@@ -89,7 +94,9 @@ namespace OpenAPI {
|
||||
bool fromStringValue(const QString &inStr, bool &value);
|
||||
bool fromStringValue(const QString &inStr, float &value);
|
||||
bool fromStringValue(const QString &inStr, double &value);
|
||||
bool fromStringValue(const QString &inStr, OAIEnum &value);
|
||||
bool fromStringValue(const QString &inStr, OAIObject &value);
|
||||
bool fromStringValue(const QString &inStr, OAIEnum &value);
|
||||
bool fromStringValue(const QString &inStr, OAIHttpFileElement &value);
|
||||
|
||||
template <typename T>
|
||||
bool fromStringValue(const QList<QString> &inStr, QList<T> &val) {
|
||||
@@ -124,6 +131,7 @@ namespace OpenAPI {
|
||||
bool fromJsonValue(double &value, const QJsonValue &jval);
|
||||
bool fromJsonValue(OAIObject &value, const QJsonValue &jval);
|
||||
bool fromJsonValue(OAIEnum &value, const QJsonValue &jval);
|
||||
bool fromJsonValue(OAIHttpFileElement &value, const QJsonValue &jval);
|
||||
|
||||
template <typename T>
|
||||
bool fromJsonValue(QList<T> &val, const QJsonValue &jval) {
|
||||
|
||||
162
samples/client/petstore/cpp-qt5/client/OAIHttpFileElement.cpp
Normal file
162
samples/client/petstore/cpp-qt5/client/OAIHttpFileElement.cpp
Normal file
@@ -0,0 +1,162 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
|
||||
#include "OAIHttpFileElement.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
void
|
||||
OAIHttpFileElement::setMimeType(const QString &mime){
|
||||
mime_type = mime;
|
||||
}
|
||||
|
||||
void
|
||||
OAIHttpFileElement::setFileName(const QString &name){
|
||||
local_filename = name;
|
||||
}
|
||||
|
||||
void
|
||||
OAIHttpFileElement::setVariableName(const QString &name){
|
||||
variable_name = name;
|
||||
}
|
||||
|
||||
void
|
||||
OAIHttpFileElement::setRequestFileName(const QString &name){
|
||||
request_filename = name;
|
||||
}
|
||||
|
||||
bool
|
||||
OAIHttpFileElement::isSet() const {
|
||||
return !local_filename.isEmpty() || !request_filename.isEmpty();
|
||||
}
|
||||
|
||||
QString
|
||||
OAIHttpFileElement::asJson() const{
|
||||
QFile file(local_filename);
|
||||
QByteArray bArray;
|
||||
bool result = false;
|
||||
if(file.exists()) {
|
||||
result = file.open(QIODevice::ReadOnly);
|
||||
bArray = file.readAll();
|
||||
file.close();
|
||||
}
|
||||
if(!result) {
|
||||
qDebug() << "Error opening file " << local_filename;
|
||||
}
|
||||
return QString(bArray);
|
||||
}
|
||||
|
||||
QJsonValue
|
||||
OAIHttpFileElement::asJsonValue() const{
|
||||
QFile file(local_filename);
|
||||
QByteArray bArray;
|
||||
bool result = false;
|
||||
if(file.exists()) {
|
||||
result = file.open(QIODevice::ReadOnly);
|
||||
bArray = file.readAll();
|
||||
file.close();
|
||||
}
|
||||
if(!result) {
|
||||
qDebug() << "Error opening file " << local_filename;
|
||||
}
|
||||
return QJsonDocument::fromBinaryData(bArray.data()).object();
|
||||
}
|
||||
|
||||
bool
|
||||
OAIHttpFileElement::fromStringValue(const QString &instr){
|
||||
QFile file(local_filename);
|
||||
bool result = false;
|
||||
if(file.exists()) {
|
||||
file.remove();
|
||||
}
|
||||
result = file.open(QIODevice::WriteOnly);
|
||||
file.write(instr.toUtf8());
|
||||
file.close();
|
||||
if(!result) {
|
||||
qDebug() << "Error creating file " << local_filename;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool
|
||||
OAIHttpFileElement::fromJsonValue(const QJsonValue &jval) {
|
||||
QFile file(local_filename);
|
||||
bool result = false;
|
||||
if(file.exists()) {
|
||||
file.remove();
|
||||
}
|
||||
result = file.open(QIODevice::WriteOnly);
|
||||
file.write(QJsonDocument(jval.toObject()).toBinaryData());
|
||||
file.close();
|
||||
if(!result) {
|
||||
qDebug() << "Error creating file " << local_filename;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
QByteArray
|
||||
OAIHttpFileElement::asByteArray() const {
|
||||
QFile file(local_filename);
|
||||
QByteArray bArray;
|
||||
bool result = false;
|
||||
if(file.exists()) {
|
||||
result = file.open(QIODevice::ReadOnly);
|
||||
bArray = file.readAll();
|
||||
file.close();
|
||||
}
|
||||
if(!result) {
|
||||
qDebug() << "Error opening file " << local_filename;
|
||||
}
|
||||
return bArray;
|
||||
}
|
||||
|
||||
bool
|
||||
OAIHttpFileElement::fromByteArray(const QByteArray& bytes){
|
||||
QFile file(local_filename);
|
||||
bool result = false;
|
||||
if(file.exists()){
|
||||
file.remove();
|
||||
}
|
||||
result = file.open(QIODevice::WriteOnly);
|
||||
file.write(bytes);
|
||||
file.close();
|
||||
if(!result) {
|
||||
qDebug() << "Error creating file " << local_filename;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool
|
||||
OAIHttpFileElement::saveToFile(const QString &varName, const QString &localFName, const QString &reqFname, const QString &mime, const QByteArray& bytes){
|
||||
setMimeType(mime);
|
||||
setFileName(localFName);
|
||||
setVariableName(varName);
|
||||
setRequestFileName(reqFname);
|
||||
return fromByteArray(bytes);
|
||||
}
|
||||
|
||||
QByteArray
|
||||
OAIHttpFileElement::loadFromFile(const QString &varName, const QString &localFName, const QString &reqFname, const QString &mime){
|
||||
setMimeType(mime);
|
||||
setFileName(localFName);
|
||||
setVariableName(varName);
|
||||
setRequestFileName(reqFname);
|
||||
return asByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
49
samples/client/petstore/cpp-qt5/client/OAIHttpFileElement.h
Normal file
49
samples/client/petstore/cpp-qt5/client/OAIHttpFileElement.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
#ifndef OAI_HTTP_FILE_ELEMENT_H
|
||||
#define OAI_HTTP_FILE_ELEMENT_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QMetaType>
|
||||
#include <QString>
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAIHttpFileElement {
|
||||
|
||||
public:
|
||||
QString variable_name;
|
||||
QString local_filename;
|
||||
QString request_filename;
|
||||
QString mime_type;
|
||||
void setMimeType(const QString &mime);
|
||||
void setFileName(const QString &name);
|
||||
void setVariableName(const QString &name);
|
||||
void setRequestFileName(const QString &name);
|
||||
bool isSet() const;
|
||||
bool fromStringValue(const QString &instr);
|
||||
bool fromJsonValue(const QJsonValue &jval);
|
||||
bool fromByteArray(const QByteArray& bytes);
|
||||
bool saveToFile(const QString &variable_name, const QString &local_filename, const QString &request_filename, const QString &mime, const QByteArray& bytes);
|
||||
QString asJson() const;
|
||||
QJsonValue asJsonValue() const;
|
||||
QByteArray asByteArray() const;
|
||||
QByteArray loadFromFile(const QString &variable_name, const QString &local_filename, const QString &request_filename, const QString &mime);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Q_DECLARE_METATYPE(OpenAPI::OAIHttpFileElement)
|
||||
|
||||
#endif // OAI_HTTP_FILE_ELEMENT_H
|
||||
@@ -10,13 +10,18 @@
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
#include "OAIHttpRequest.h"
|
||||
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QDir>
|
||||
#include <QUuid>
|
||||
#include <QUrl>
|
||||
#include <QFileInfo>
|
||||
#include <QBuffer>
|
||||
#include <QtGlobal>
|
||||
|
||||
#include "OAIHttpRequest.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
@@ -41,7 +46,7 @@ void OAIHttpRequestInput::add_var(QString key, QString value) {
|
||||
}
|
||||
|
||||
void OAIHttpRequestInput::add_file(QString variable_name, QString local_filename, QString request_filename, QString mime_type) {
|
||||
OAIHttpRequestInputFileElement file;
|
||||
OAIHttpFileElement file;
|
||||
file.variable_name = variable_name;
|
||||
file.local_filename = local_filename;
|
||||
file.request_filename = request_filename;
|
||||
@@ -57,6 +62,7 @@ OAIHttpRequestWorker::OAIHttpRequestWorker(QObject *parent)
|
||||
timeout = 0;
|
||||
timer = new QTimer();
|
||||
manager = new QNetworkAccessManager(this);
|
||||
workingDirectory = QDir::currentPath();
|
||||
connect(manager, &QNetworkAccessManager::finished, this, &OAIHttpRequestWorker::on_manager_finished);
|
||||
}
|
||||
|
||||
@@ -67,16 +73,50 @@ OAIHttpRequestWorker::~OAIHttpRequestWorker() {
|
||||
}
|
||||
timer->deleteLater();
|
||||
}
|
||||
for (const auto & item: multiPartFields) {
|
||||
if(item != nullptr) {
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QMap<QByteArray, QByteArray> OAIHttpRequestWorker::getResponseHeaders() const {
|
||||
QMap<QString, QString> OAIHttpRequestWorker::getResponseHeaders() const {
|
||||
return headers;
|
||||
}
|
||||
|
||||
OAIHttpFileElement OAIHttpRequestWorker::getHttpFileElement(const QString &fieldname){
|
||||
if(!files.isEmpty()){
|
||||
if(fieldname.isEmpty()){
|
||||
return files.first();
|
||||
}else if (files.contains(fieldname)){
|
||||
return files[fieldname];
|
||||
}
|
||||
}
|
||||
return OAIHttpFileElement();
|
||||
}
|
||||
|
||||
QByteArray *OAIHttpRequestWorker::getMultiPartField(const QString &fieldname){
|
||||
if(!multiPartFields.isEmpty()){
|
||||
if(fieldname.isEmpty()){
|
||||
return multiPartFields.first();
|
||||
}else if (multiPartFields.contains(fieldname)){
|
||||
return multiPartFields[fieldname];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void OAIHttpRequestWorker::setTimeOut(int tout){
|
||||
timeout = tout;
|
||||
}
|
||||
|
||||
void OAIHttpRequestWorker::setWorkingDirectory(const QString &path){
|
||||
if(!path.isEmpty()){
|
||||
workingDirectory = path;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QString OAIHttpRequestWorker::http_attribute_encode(QString attribute_name, QString input) {
|
||||
// result structure follows RFC 5987
|
||||
bool need_utf_encoding = false;
|
||||
@@ -205,7 +245,7 @@ void OAIHttpRequestWorker::execute(OAIHttpRequestInput *input) {
|
||||
}
|
||||
|
||||
// add files
|
||||
for (QList<OAIHttpRequestInputFileElement>::iterator file_info = input->files.begin(); file_info != input->files.end(); file_info++) {
|
||||
for (QList<OAIHttpFileElement>::iterator file_info = input->files.begin(); file_info != input->files.end(); file_info++) {
|
||||
QFileInfo fi(file_info->local_filename);
|
||||
|
||||
// ensure necessary variables are available
|
||||
@@ -285,8 +325,13 @@ void OAIHttpRequestWorker::execute(OAIHttpRequestInput *input) {
|
||||
request.setRawHeader(key.toStdString().c_str(), input->headers.value(key).toStdString().c_str());
|
||||
}
|
||||
|
||||
if (request_content.size() > 0 && !isFormData) {
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
if (request_content.size() > 0 && !isFormData && (input->var_layout != MULTIPART)) {
|
||||
if(!input->headers.contains("Content-Type")){
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
}
|
||||
else {
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader, input->headers.value("Content-Type"));
|
||||
}
|
||||
}
|
||||
else if (input->var_layout == URL_ENCODED) {
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||
@@ -340,9 +385,10 @@ void OAIHttpRequestWorker::on_manager_finished(QNetworkReply *reply) {
|
||||
}
|
||||
}
|
||||
reply->deleteLater();
|
||||
|
||||
process_form_response();
|
||||
emit on_execution_finished(this);
|
||||
}
|
||||
|
||||
void OAIHttpRequestWorker::on_manager_timeout(QNetworkReply *reply) {
|
||||
error_type = QNetworkReply::TimeoutError;
|
||||
response = "";
|
||||
@@ -350,9 +396,37 @@ void OAIHttpRequestWorker::on_manager_timeout(QNetworkReply *reply) {
|
||||
disconnect(manager, nullptr, nullptr, nullptr);
|
||||
reply->abort();
|
||||
reply->deleteLater();
|
||||
|
||||
emit on_execution_finished(this);
|
||||
}
|
||||
|
||||
void OAIHttpRequestWorker::process_form_response() {
|
||||
if(getResponseHeaders().contains(QString("Content-Disposition")) ) {
|
||||
auto contentDisposition = getResponseHeaders().value(QString("Content-Disposition").toUtf8()).split(QString(";"), QString::SkipEmptyParts);
|
||||
auto contentType = getResponseHeaders().contains(QString("Content-Type")) ? getResponseHeaders().value(QString("Content-Type").toUtf8()).split(QString(";"), QString::SkipEmptyParts).first() : QString();
|
||||
if((contentDisposition.count() > 0) && (contentDisposition.first() == QString("attachment"))){
|
||||
QString filename = QUuid::createUuid().toString();
|
||||
for(const auto &file : contentDisposition){
|
||||
if(file.contains(QString("filename"))){
|
||||
filename = file.split(QString("="), QString::SkipEmptyParts).at(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
OAIHttpFileElement felement;
|
||||
felement.saveToFile(QString(), workingDirectory + QDir::separator() + filename, filename, contentType, response.data());
|
||||
files.insert(filename, felement);
|
||||
}
|
||||
|
||||
} else if(getResponseHeaders().contains(QString("Content-Type")) ) {
|
||||
auto contentType = getResponseHeaders().value(QString("Content-Type").toUtf8()).split(QString(";"), QString::SkipEmptyParts);
|
||||
if((contentType.count() > 0) && (contentType.first() == QString("multipart/form-data"))){
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QSslConfiguration* OAIHttpRequestWorker::sslDefaultConfiguration;
|
||||
|
||||
|
||||
|
||||
@@ -27,21 +27,12 @@
|
||||
#include <QNetworkReply>
|
||||
|
||||
|
||||
#include "OAIHttpFileElement.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
enum OAIHttpRequestVarLayout {NOT_SET, ADDRESS, URL_ENCODED, MULTIPART};
|
||||
|
||||
class OAIHttpRequestInputFileElement {
|
||||
|
||||
public:
|
||||
QString variable_name;
|
||||
QString local_filename;
|
||||
QString request_filename;
|
||||
QString mime_type;
|
||||
|
||||
};
|
||||
|
||||
|
||||
class OAIHttpRequestInput {
|
||||
|
||||
@@ -51,7 +42,7 @@ public:
|
||||
OAIHttpRequestVarLayout var_layout;
|
||||
QMap<QString, QString> vars;
|
||||
QMap<QString, QString> headers;
|
||||
QList<OAIHttpRequestInputFileElement> files;
|
||||
QList<OAIHttpFileElement> files;
|
||||
QByteArray request_body;
|
||||
|
||||
OAIHttpRequestInput();
|
||||
@@ -74,19 +65,26 @@ public:
|
||||
explicit OAIHttpRequestWorker(QObject *parent = nullptr);
|
||||
virtual ~OAIHttpRequestWorker();
|
||||
|
||||
QMap<QByteArray, QByteArray> getResponseHeaders() const;
|
||||
QMap<QString, QString> getResponseHeaders() const;
|
||||
QString http_attribute_encode(QString attribute_name, QString input);
|
||||
void execute(OAIHttpRequestInput *input);
|
||||
static QSslConfiguration* sslDefaultConfiguration;
|
||||
void setTimeOut(int tout);
|
||||
void setWorkingDirectory(const QString &path);
|
||||
OAIHttpFileElement getHttpFileElement(const QString &fieldname = QString());
|
||||
QByteArray* getMultiPartField(const QString &fieldname = QString());
|
||||
signals:
|
||||
void on_execution_finished(OAIHttpRequestWorker *worker);
|
||||
|
||||
private:
|
||||
QNetworkAccessManager *manager;
|
||||
QMap<QByteArray, QByteArray> headers;
|
||||
QMap<QString, QString> headers;
|
||||
QMap<QString, OAIHttpFileElement> files;
|
||||
QMap<QString, QByteArray*> multiPartFields;
|
||||
QString workingDirectory;
|
||||
int timeout;
|
||||
void on_manager_timeout(QNetworkReply *reply);
|
||||
void process_form_response();
|
||||
private slots:
|
||||
void on_manager_finished(QNetworkReply *reply);
|
||||
};
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAIOrder.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAIOrder::OAIOrder(QString json) {
|
||||
@@ -99,22 +99,22 @@ OAIOrder::asJson () const {
|
||||
QJsonObject
|
||||
OAIOrder::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_id_isSet){
|
||||
if(m_id_isSet){
|
||||
obj.insert(QString("id"), ::OpenAPI::toJsonValue(id));
|
||||
}
|
||||
if(m_pet_id_isSet){
|
||||
if(m_pet_id_isSet){
|
||||
obj.insert(QString("petId"), ::OpenAPI::toJsonValue(pet_id));
|
||||
}
|
||||
if(m_quantity_isSet){
|
||||
if(m_quantity_isSet){
|
||||
obj.insert(QString("quantity"), ::OpenAPI::toJsonValue(quantity));
|
||||
}
|
||||
if(m_ship_date_isSet){
|
||||
if(m_ship_date_isSet){
|
||||
obj.insert(QString("shipDate"), ::OpenAPI::toJsonValue(ship_date));
|
||||
}
|
||||
if(m_status_isSet){
|
||||
if(m_status_isSet){
|
||||
obj.insert(QString("status"), ::OpenAPI::toJsonValue(status));
|
||||
}
|
||||
if(m_complete_isSet){
|
||||
if(m_complete_isSet){
|
||||
obj.insert(QString("complete"), ::OpenAPI::toJsonValue(complete));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAIOrder: public OAIObject {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAIPet.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAIPet::OAIPet(QString json) {
|
||||
@@ -99,24 +99,24 @@ OAIPet::asJson () const {
|
||||
QJsonObject
|
||||
OAIPet::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_id_isSet){
|
||||
if(m_id_isSet){
|
||||
obj.insert(QString("id"), ::OpenAPI::toJsonValue(id));
|
||||
}
|
||||
if(category.isSet()){
|
||||
if(category.isSet()){
|
||||
obj.insert(QString("category"), ::OpenAPI::toJsonValue(category));
|
||||
}
|
||||
if(m_name_isSet){
|
||||
if(m_name_isSet){
|
||||
obj.insert(QString("name"), ::OpenAPI::toJsonValue(name));
|
||||
}
|
||||
|
||||
|
||||
if(photo_urls.size() > 0){
|
||||
obj.insert(QString("photoUrls"), ::OpenAPI::toJsonValue(photo_urls));
|
||||
}
|
||||
|
||||
|
||||
if(tags.size() > 0){
|
||||
obj.insert(QString("tags"), ::OpenAPI::toJsonValue(tags));
|
||||
}
|
||||
if(m_status_isSet){
|
||||
if(m_status_isSet){
|
||||
obj.insert(QString("status"), ::OpenAPI::toJsonValue(status));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAIPet: public OAIObject {
|
||||
|
||||
@@ -46,6 +46,10 @@ void OAIPetApi::setApiTimeOutMs(const int tout){
|
||||
timeout = tout;
|
||||
}
|
||||
|
||||
void OAIPetApi::setWorkingDirectory(const QString& path){
|
||||
workingDirectory = path;
|
||||
}
|
||||
|
||||
void OAIPetApi::addHeaders(const QString& key, const QString& value){
|
||||
defaultHeaders.insert(key, value);
|
||||
}
|
||||
@@ -58,8 +62,9 @@ OAIPetApi::addPet(const OAIPet& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
|
||||
|
||||
|
||||
QString output = body.asJson();
|
||||
input.request_body.append(output);
|
||||
@@ -110,7 +115,9 @@ OAIPetApi::deletePet(const qint64& pet_id, const QString& api_key) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "DELETE");
|
||||
|
||||
|
||||
if (api_key != nullptr) {
|
||||
input.headers.insert("api_key", api_key);
|
||||
@@ -198,7 +205,9 @@ OAIPetApi::findPetsByStatus(const QList<QString>& status) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -293,7 +302,9 @@ OAIPetApi::findPetsByTags(const QList<QString>& tags) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -351,7 +362,9 @@ OAIPetApi::getPetById(const qint64& pet_id) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -397,8 +410,9 @@ OAIPetApi::updatePet(const OAIPet& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "PUT");
|
||||
|
||||
|
||||
|
||||
QString output = body.asJson();
|
||||
input.request_body.append(output);
|
||||
@@ -449,14 +463,12 @@ OAIPetApi::updatePetWithForm(const qint64& pet_id, const QString& name, const QS
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
if (name != nullptr) {
|
||||
input.add_var("name", name);
|
||||
}
|
||||
if (status != nullptr) {
|
||||
input.add_var("status", status);
|
||||
}
|
||||
|
||||
input.add_var("name", ::OpenAPI::toStringValue(name));
|
||||
input.add_var("status", ::OpenAPI::toStringValue(status));
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
input.headers.insert(key, this->defaultHeaders.value(key));
|
||||
@@ -494,7 +506,7 @@ OAIPetApi::updatePetWithFormCallback(OAIHttpRequestWorker * worker) {
|
||||
}
|
||||
|
||||
void
|
||||
OAIPetApi::uploadFile(const qint64& pet_id, const QString& additional_metadata, const OAIHttpRequestInputFileElement*& file) {
|
||||
OAIPetApi::uploadFile(const qint64& pet_id, const QString& additional_metadata, const OAIHttpFileElement& file) {
|
||||
QString fullPath;
|
||||
fullPath.append(this->host).append(this->basePath).append("/pet/{petId}/uploadImage");
|
||||
QString pet_idPathParam("{");
|
||||
@@ -503,14 +515,12 @@ OAIPetApi::uploadFile(const qint64& pet_id, const QString& additional_metadata,
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
if (additional_metadata != nullptr) {
|
||||
input.add_var("additionalMetadata", additional_metadata);
|
||||
}
|
||||
if (file != nullptr) {
|
||||
input.add_file("file", (*file).local_filename, (*file).request_filename, (*file).mime_type);
|
||||
}
|
||||
|
||||
input.add_var("additionalMetadata", ::OpenAPI::toStringValue(additional_metadata));
|
||||
input.add_file("file", file.local_filename, file.request_filename, file.mime_type);
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
input.headers.insert(key, this->defaultHeaders.value(key));
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include "OAIHttpRequest.h"
|
||||
|
||||
#include "OAIApiResponse.h"
|
||||
#include "OAIHttpRequest.h"
|
||||
#include "OAIHttpFileElement.h"
|
||||
#include "OAIPet.h"
|
||||
#include <QString>
|
||||
|
||||
@@ -35,6 +35,7 @@ public:
|
||||
void setBasePath(const QString& basePath);
|
||||
void setHost(const QString& host);
|
||||
void setApiTimeOutMs(const int tout);
|
||||
void setWorkingDirectory(const QString& path);
|
||||
void addHeaders(const QString& key, const QString& value);
|
||||
|
||||
void addPet(const OAIPet& body);
|
||||
@@ -44,11 +45,12 @@ public:
|
||||
void getPetById(const qint64& pet_id);
|
||||
void updatePet(const OAIPet& body);
|
||||
void updatePetWithForm(const qint64& pet_id, const QString& name, const QString& status);
|
||||
void uploadFile(const qint64& pet_id, const QString& additional_metadata, const OAIHttpRequestInputFileElement*& file);
|
||||
void uploadFile(const qint64& pet_id, const QString& additional_metadata, const OAIHttpFileElement& file);
|
||||
|
||||
private:
|
||||
QString basePath;
|
||||
QString host;
|
||||
QString workingDirectory;
|
||||
int timeout;
|
||||
QMap<QString, QString> defaultHeaders;
|
||||
void addPetCallback (OAIHttpRequestWorker * worker);
|
||||
|
||||
@@ -46,6 +46,10 @@ void OAIStoreApi::setApiTimeOutMs(const int tout){
|
||||
timeout = tout;
|
||||
}
|
||||
|
||||
void OAIStoreApi::setWorkingDirectory(const QString& path){
|
||||
workingDirectory = path;
|
||||
}
|
||||
|
||||
void OAIStoreApi::addHeaders(const QString& key, const QString& value){
|
||||
defaultHeaders.insert(key, value);
|
||||
}
|
||||
@@ -61,7 +65,9 @@ OAIStoreApi::deleteOrder(const QString& order_id) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "DELETE");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -106,7 +112,9 @@ OAIStoreApi::getInventory() {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -164,7 +172,9 @@ OAIStoreApi::getOrderById(const qint64& order_id) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -210,8 +220,9 @@ OAIStoreApi::placeOrder(const OAIOrder& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
|
||||
|
||||
|
||||
QString output = body.asJson();
|
||||
input.request_body.append(output);
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
void setBasePath(const QString& basePath);
|
||||
void setHost(const QString& host);
|
||||
void setApiTimeOutMs(const int tout);
|
||||
void setWorkingDirectory(const QString& path);
|
||||
void addHeaders(const QString& key, const QString& value);
|
||||
|
||||
void deleteOrder(const QString& order_id);
|
||||
@@ -44,6 +45,7 @@ public:
|
||||
private:
|
||||
QString basePath;
|
||||
QString host;
|
||||
QString workingDirectory;
|
||||
int timeout;
|
||||
QMap<QString, QString> defaultHeaders;
|
||||
void deleteOrderCallback (OAIHttpRequestWorker * worker);
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAITag.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAITag::OAITag(QString json) {
|
||||
@@ -75,10 +75,10 @@ OAITag::asJson () const {
|
||||
QJsonObject
|
||||
OAITag::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_id_isSet){
|
||||
if(m_id_isSet){
|
||||
obj.insert(QString("id"), ::OpenAPI::toJsonValue(id));
|
||||
}
|
||||
if(m_name_isSet){
|
||||
if(m_name_isSet){
|
||||
obj.insert(QString("name"), ::OpenAPI::toJsonValue(name));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAITag: public OAIObject {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
#include "OAIUser.h"
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include "OAIHelpers.h"
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
OAIUser::OAIUser(QString json) {
|
||||
@@ -111,28 +111,28 @@ OAIUser::asJson () const {
|
||||
QJsonObject
|
||||
OAIUser::asJsonObject() const {
|
||||
QJsonObject obj;
|
||||
if(m_id_isSet){
|
||||
if(m_id_isSet){
|
||||
obj.insert(QString("id"), ::OpenAPI::toJsonValue(id));
|
||||
}
|
||||
if(m_username_isSet){
|
||||
if(m_username_isSet){
|
||||
obj.insert(QString("username"), ::OpenAPI::toJsonValue(username));
|
||||
}
|
||||
if(m_first_name_isSet){
|
||||
if(m_first_name_isSet){
|
||||
obj.insert(QString("firstName"), ::OpenAPI::toJsonValue(first_name));
|
||||
}
|
||||
if(m_last_name_isSet){
|
||||
if(m_last_name_isSet){
|
||||
obj.insert(QString("lastName"), ::OpenAPI::toJsonValue(last_name));
|
||||
}
|
||||
if(m_email_isSet){
|
||||
if(m_email_isSet){
|
||||
obj.insert(QString("email"), ::OpenAPI::toJsonValue(email));
|
||||
}
|
||||
if(m_password_isSet){
|
||||
if(m_password_isSet){
|
||||
obj.insert(QString("password"), ::OpenAPI::toJsonValue(password));
|
||||
}
|
||||
if(m_phone_isSet){
|
||||
if(m_phone_isSet){
|
||||
obj.insert(QString("phone"), ::OpenAPI::toJsonValue(phone));
|
||||
}
|
||||
if(m_user_status_isSet){
|
||||
if(m_user_status_isSet){
|
||||
obj.insert(QString("userStatus"), ::OpenAPI::toJsonValue(user_status));
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "OAIObject.h"
|
||||
#include "OAIEnum.h"
|
||||
|
||||
|
||||
namespace OpenAPI {
|
||||
|
||||
class OAIUser: public OAIObject {
|
||||
|
||||
@@ -46,6 +46,10 @@ void OAIUserApi::setApiTimeOutMs(const int tout){
|
||||
timeout = tout;
|
||||
}
|
||||
|
||||
void OAIUserApi::setWorkingDirectory(const QString& path){
|
||||
workingDirectory = path;
|
||||
}
|
||||
|
||||
void OAIUserApi::addHeaders(const QString& key, const QString& value){
|
||||
defaultHeaders.insert(key, value);
|
||||
}
|
||||
@@ -58,8 +62,9 @@ OAIUserApi::createUser(const OAIUser& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
|
||||
|
||||
|
||||
QString output = body.asJson();
|
||||
input.request_body.append(output);
|
||||
@@ -107,8 +112,9 @@ OAIUserApi::createUsersWithArrayInput(const QList<OAIUser>& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
|
||||
|
||||
|
||||
QJsonDocument doc(::OpenAPI::toJsonValue(body).toArray());
|
||||
QByteArray bytes = doc.toJson();
|
||||
@@ -157,8 +163,9 @@ OAIUserApi::createUsersWithListInput(const QList<OAIUser>& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "POST");
|
||||
|
||||
|
||||
|
||||
QJsonDocument doc(::OpenAPI::toJsonValue(body).toArray());
|
||||
QByteArray bytes = doc.toJson();
|
||||
@@ -210,7 +217,9 @@ OAIUserApi::deleteUser(const QString& username) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "DELETE");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -258,7 +267,9 @@ OAIUserApi::getUserByName(const QString& username) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -320,7 +331,9 @@ OAIUserApi::loginUser(const QString& username, const QString& password) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -367,7 +380,9 @@ OAIUserApi::logoutUser() {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "GET");
|
||||
|
||||
|
||||
|
||||
foreach(QString key, this->defaultHeaders.keys()) {
|
||||
@@ -415,8 +430,9 @@ OAIUserApi::updateUser(const QString& username, const OAIUser& body) {
|
||||
|
||||
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker(this);
|
||||
worker->setTimeOut(timeout);
|
||||
worker->setWorkingDirectory(workingDirectory);
|
||||
OAIHttpRequestInput input(fullPath, "PUT");
|
||||
|
||||
|
||||
|
||||
QString output = body.asJson();
|
||||
input.request_body.append(output);
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
void setBasePath(const QString& basePath);
|
||||
void setHost(const QString& host);
|
||||
void setApiTimeOutMs(const int tout);
|
||||
void setWorkingDirectory(const QString& path);
|
||||
void addHeaders(const QString& key, const QString& value);
|
||||
|
||||
void createUser(const OAIUser& body);
|
||||
@@ -48,6 +49,7 @@ public:
|
||||
private:
|
||||
QString basePath;
|
||||
QString host;
|
||||
QString workingDirectory;
|
||||
int timeout;
|
||||
QMap<QString, QString> defaultHeaders;
|
||||
void createUserCallback (OAIHttpRequestWorker * worker);
|
||||
|
||||
@@ -15,8 +15,9 @@ HEADERS += \
|
||||
# Others
|
||||
$${PWD}/OAIHelpers.h \
|
||||
$${PWD}/OAIHttpRequest.h \
|
||||
$${PWD}/OAIObject.h
|
||||
$${PWD}/OAIEnum.h
|
||||
$${PWD}/OAIObject.h \
|
||||
$${PWD}/OAIEnum.h \
|
||||
$${PWD}/OAIHttpFileElement.h
|
||||
|
||||
SOURCES += \
|
||||
# Models
|
||||
@@ -32,5 +33,6 @@ SOURCES += \
|
||||
$${PWD}/OAIUserApi.cpp \
|
||||
# Others
|
||||
$${PWD}/OAIHelpers.cpp \
|
||||
$${PWD}/OAIHttpRequest.cpp
|
||||
$${PWD}/OAIHttpRequest.cpp \
|
||||
$${PWD}/OAIHttpFileElement.cpp
|
||||
|
||||
|
||||
Reference in New Issue
Block a user