HTTPServer.h 951 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef HTTPSERVER_H
  2. #define HTTPSERVER_H
  3. #include <QObject>
  4. #include <QString>
  5. #include "qhttpserverrequest.hpp"
  6. #include "qhttpserver.hpp"
  7. #include "qhttpserverresponse.hpp"
  8. using namespace qhttp::server;
  9. class HttpServer : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit HttpServer(QObject* parent);
  14. bool start();
  15. private slots:
  16. void handleRequest(QHttpRequest* request, QHttpResponse* response);
  17. void handleWebClientRequest(QHttpRequest* request, QHttpResponse* response);
  18. void handleResource(QHttpRequest* request, QHttpResponse* response);
  19. void handleRemoteController(QHttpRequest* request, QHttpResponse* response);
  20. void handleFilesRequest(QHttpRequest* request, QHttpResponse* response);
  21. void writeError(QHttpResponse* response, qhttp::TStatusCode errorCode);
  22. private:
  23. bool writeFile(const QString& file, QHttpResponse* response);
  24. QHttpServer* m_server;
  25. QString m_baseUrl;
  26. quint16 m_port;
  27. };
  28. #endif // HTTPSERVER_H