hyperion.ng
QtHttpReply.h
1 #ifndef QTHTTPREPLY_H
2 #define QTHTTPREPLY_H
3 
4 #include <QObject>
5 #include <QByteArray>
6 #include <QHash>
7 #include <QList>
8 
9 class QtHttpServer;
10 
11 class QtHttpReply : public QObject {
12  Q_OBJECT
13  Q_ENUMS (StatusCode)
14 
15 public:
16  explicit QtHttpReply (QtHttpServer * parent);
17 
18  enum StatusCode {
19  Ok = 200,
20  SeeOther = 303,
21  BadRequest = 400,
22  Forbidden = 403,
23  NotFound = 404,
24  MethodNotAllowed = 405,
25  InternalError = 500,
26  NotImplemented = 501,
27  BadGateway = 502,
28  ServiceUnavailable = 503,
29  };
30 
31  int getRawDataSize (void) const;
32  bool useChunked (void) const;
33  StatusCode getStatusCode (void) const;
34  QByteArray getRawData (void) const;
35  QList<QByteArray> getHeadersList (void) const;
36 
37  QByteArray getHeader (const QByteArray & header) const;
38 
39  static const QByteArray getStatusTextForCode (StatusCode statusCode);
40 
41 public slots:
42  void setUseChunked (bool chunked = false);
43  void setStatusCode (StatusCode statusCode);
44  void appendRawData (const QByteArray & data);
45  void addHeader (const QByteArray & header, const QByteArray & value);
46  void resetRawData (void);
47 
48 signals:
49  void requestSendHeaders (void);
50  void requestSendData (void);
51 
52 private:
53  bool m_useChunked;
54  StatusCode m_statusCode;
55  QByteArray m_data;
56  QtHttpServer * m_serverHandle;
57  QHash<QByteArray, QByteArray> m_headersHash;
58 };
59 
60 #endif // QTHTTPREPLY_H
Definition: QtHttpServer.h:37
Definition: QtHttpReply.h:11