#pragma once #include #include #include "JDefines.h" #include "JConfig.h" #include "ParsingQuery.h" #include "MakeResponse.h" #include namespace Incart::Net::WebApi { class exePost : public QObject { Q_OBJECT protected: MakeResponse* m_resp; MakeResponse _m_resp; public: exePost() : QObject(),m_resp(&_m_resp) {} // void set(MakeResponse* resp) { m_resp = resp; } virtual ~exePost() {} virtual void exe(ParsingURI&, QByteArray&, QTcpSocket* socket) { m_resp->ret501(); sentResponse(socket); } void sentResponse(QTcpSocket* socket) { socket->write(m_resp->getResponse()); // ответ socket->disconnectFromHost(); } MakeResponse* getMakeResponse() { return m_resp; } //!!! затычка void file_writer(QString fname, QByteArray& data) { QFile file(fname); if ( file.open(QIODevice::WriteOnly)) { qint64 len = file.write(data); file.close(); if(len == data.size()) { m_resp->ret200(); } else { m_resp->ret500(); Common::JTerminal(JCL_RED) << __FUNCTION__ << "file write error " << fname << len << data.size(); } } else { m_resp->ret404(fname); } } }; } // namespace Incart::Net::WebApi