1#include "testengine.hpp"
3#include "testengine_p.h"
10TestEngine::TestEngine(
Application *app,
const QVariantMap &opts)
15int TestEngine::workerId()
const
20TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
30 bodyDevice =
new SequentialBuffer(body);
35 if (bodyDevice->
size()) {
39 TestEngineConnection req;
44 req.protocol =
"HTTP/1.1"_ba;
46 req.serverAddress =
"127.0.0.1"_ba;
48 req.remotePort = 3000;
50 req.headers = headersCL;
51 req.startOfRequest = std::chrono::steady_clock::now();
52 req.body = bodyDevice;
54 Q_EMIT processRequestAsync(&req);
57 req.m_eventLoop.exec();
60 ret.body = req.m_responseData;
61 ret.statusCode = req.m_statusCode;
62 ret.headers = req.m_headers;
67TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
73 return createRequest(method, path.
toLatin1(), query, headers, body);
76bool TestEngine::init()
78 return initApplication() && postForkApplication();
81SequentialBuffer::SequentialBuffer(
QByteArray *buffer)
86bool SequentialBuffer::isSequential()
const
91qint64 SequentialBuffer::bytesAvailable()
const
96qint64 SequentialBuffer::readData(
char *data, qint64 maxlen)
99 memcpy(data, mid.
data(), mid.
size());
101 buf->remove(0, mid.
size());
105qint64 SequentialBuffer::writeData(
const char *data, qint64 len)
112qint64 TestEngineConnection::doWrite(
const char *data, qint64 len)
114 m_responseData.append(data, len);
118bool TestEngineConnection::writeHeaders(quint16 status,
const Headers &headers)
120 m_statusCode = status;
126void TestEngineConnection::processingFinished()
131#include "moc_testengine.cpp"
The Cutelyst application.
The Cutelyst namespace holds all public Cutelyst API.
bool isEmpty() const const
QByteArray mid(qsizetype pos, qsizetype len) const const
qsizetype size() const const
virtual qint64 bytesAvailable() const const
virtual bool open(QIODeviceBase::OpenMode mode)
virtual qint64 size() const const
QByteArray toLatin1() const const