#include "QtHttpReply.h" #include "QtHttpHeader.h" #include "QtHttpServer.h" #include QtHttpReply::QtHttpReply (QtHttpServer * parent) : QObject (parent) , m_useChunked (false) , m_statusCode (Ok) , m_data (QByteArray ()) , m_serverHandle (parent) { // set some additional headers addHeader (QtHttpHeader::Date, QDateTime::currentDateTimeUtc ().toString ("ddd, dd MMM yyyy hh:mm:ss t").toUtf8 ()); addHeader (QtHttpHeader::Server, m_serverHandle->getServerName ().toUtf8 ()); } int QtHttpReply::getRawDataSize (void) const { return m_data.size (); } bool QtHttpReply::useChunked (void) const { return m_useChunked; } QtHttpReply::StatusCode QtHttpReply::getStatusCode (void) const { return m_statusCode; } QByteArray QtHttpReply::getRawData (void) const { return m_data; } QList QtHttpReply::getHeadersList (void) const { return m_headersHash.keys (); } QByteArray QtHttpReply::getHeader (const QByteArray & header) const { return m_headersHash.value (header, QByteArray ()); } const QByteArray QtHttpReply::getStatusTextForCode (QtHttpReply::StatusCode statusCode) { switch (statusCode) { case Ok: return QByteArrayLiteral ("OK."); case BadRequest: return QByteArrayLiteral ("Bad request !"); case Forbidden: return QByteArrayLiteral ("Forbidden !"); case NotFound: return QByteArrayLiteral ("Not found !"); default: return QByteArrayLiteral (""); } } void QtHttpReply::setUseChunked (bool chunked){ m_useChunked = chunked; } void QtHttpReply::setStatusCode (QtHttpReply::StatusCode statusCode) { m_statusCode = statusCode; } void QtHttpReply::appendRawData (const QByteArray & data) { m_data.append (data); } void QtHttpReply::addHeader (const QByteArray & header, const QByteArray & value) { QByteArray key = header.trimmed (); if (!key.isEmpty ()) { m_headersHash.insert (key, value); } } void QtHttpReply::resetRawData (void) { m_data.clear (); }