#pragma once #include #include #include #include "JDefines.h" #include "JTerminal.h" #include "JConfig.h" #include "ParsingQuery.h" #include "MakeResponse.h" #include "DirectoryQueue.h" //#include "WebSocketsNetList.h" namespace Incart::Net::WebApi { class exeGet : public QObject { Q_OBJECT protected: MakeResponse* m_resp; MakeResponse _m_resp; public: exeGet() : QObject(), m_resp(&_m_resp) { } // void set(MakeResponse* resp) { m_resp = resp; } // ! обязательно надо установить virtual ~exeGet() {} MakeResponse* getMakeResponse() { return m_resp; } //!!! затычка virtual void exe(ParsingURI&, QTcpSocket* socket) { m_resp->ret501(); sendResponse(socket); } void sendResponse(QTcpSocket* socket) { socket->write(m_resp->getResponse()); // ответ socket->disconnectFromHost(); } void file_reader(QString fname, QString ext) { QFile file(fname); if ( file.open(QIODevice::ReadOnly)) { QByteArray data = file.readAll(); file.close(); m_resp->ret200(ext,data); } else { m_resp->ret404(fname); Common::JTerminal(JCL_RED) << __FUNCTION__ << "file read error " << fname; } } }; //----------------------------------------------------------------------------- } // namespace Incart::Net::WebApi