mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
76 lines
2.0 KiB
C++
76 lines
2.0 KiB
C++
|
|
#include "QtHttpReply.h"
|
|
#include "QtHttpHeader.h"
|
|
#include "QtHttpServer.h"
|
|
|
|
#include <QDateTime>
|
|
|
|
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<QByteArray> 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 ();
|
|
}
|