The slot in the websocket client will now run through until there are no more data in the buffer

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
Paulchen-Panther
2019-07-21 15:03:50 +02:00
parent 370e1b5f45
commit 96d79cdef6
14 changed files with 652 additions and 661 deletions

View File

@@ -8,53 +8,58 @@
class QtHttpServer;
class QtHttpReply : public QObject {
Q_OBJECT
Q_ENUMS (StatusCode)
class QtHttpReply : public QObject
{
Q_OBJECT
Q_ENUMS (StatusCode)
public:
explicit QtHttpReply (QtHttpServer * parent);
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,
};
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;
bool useChunked (void) const;
StatusCode getStatusCode (void) const;
QByteArray getRawData (void) const;
QList<QByteArray> getHeadersList (void) const;
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;
QByteArray getHeader (const QByteArray & header) const
{
return m_headersHash.value (header, QByteArray ());
};
static const QByteArray getStatusTextForCode (StatusCode statusCode);
static const QByteArray getStatusTextForCode (StatusCode statusCode);
public slots:
void setUseChunked (bool chunked = false);
void setStatusCode (StatusCode statusCode);
void appendRawData (const QByteArray & data);
void addHeader (const QByteArray & header, const QByteArray & value);
void resetRawData (void);
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);
void requestSendHeaders (void);
void requestSendData (void);
private:
bool m_useChunked;
StatusCode m_statusCode;
QByteArray m_data;
QtHttpServer * m_serverHandle;
QHash<QByteArray, QByteArray> m_headersHash;
bool m_useChunked;
StatusCode m_statusCode;
QByteArray m_data;
QtHttpServer * m_serverHandle;
QHash<QByteArray, QByteArray> m_headersHash;
};
#endif // QTHTTPREPLY_H