123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #ifndef QTHTTPREPLY_H
- #define QTHTTPREPLY_H
- #include <QObject>
- #include <QByteArray>
- #include <QHash>
- #include <QList>
- class QtHttpServer;
- class QtHttpReply : public QObject
- {
- Q_OBJECT
- Q_ENUMS (StatusCode)
- public:
- explicit QtHttpReply (QtHttpServer * parent);
- enum StatusCode
- {
- Ok = 200,
- SeeOther = 303,
- BadRequest = 400,
- Forbidden = 403,
- NotFound = 404,
- MethodNotAllowed = 405,
- InternalError = 500,
- NotImplemented = 501,
- BadGateway = 502,
- ServiceUnavailable = 503,
- };
- int getRawDataSize (void) const { return m_data.size(); };
- bool useChunked (void) const { return m_useChunked; };
- StatusCode getStatusCode (void) const { return m_statusCode; };
- QByteArray getRawData (void) const { return m_data; };
- QList<QByteArray> getHeadersList (void) const { return m_headersHash.keys (); };
- QByteArray getHeader (const QByteArray & header) const
- {
- return m_headersHash.value (header, QByteArray ());
- };
- static const QByteArray getStatusTextForCode (StatusCode statusCode);
- public slots:
- void setUseChunked (bool chunked = false) { m_useChunked = chunked; };
- void setStatusCode (StatusCode statusCode) { m_statusCode = statusCode; };
- void appendRawData (const QByteArray & data) { m_data.append(data); };
- void addHeader (const QByteArray & header, const QByteArray & value);
- void resetRawData (void) { m_data.clear (); };
- signals:
- void requestSendHeaders (void);
- void requestSendData (void);
- private:
- bool m_useChunked;
- StatusCode m_statusCode;
- QByteArray m_data;
- QtHttpServer * m_serverHandle;
- QHash<QByteArray, QByteArray> m_headersHash;
- };
- #endif // QTHTTPREPLY_H
|