1 #include "testengine.hpp" 3 #include "testengine_p.h" 9 TestEngine::TestEngine(
Application *app,
const QVariantMap &opts)
14 int TestEngine::workerId()
const 19 TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
29 bodyDevice =
new SequentialBuffer(body);
34 if (bodyDevice->
size()) {
38 TestEngineConnection req;
43 req.protocol =
"HTTP/1.1"_qba;
45 req.serverAddress =
"127.0.0.1"_qba;
47 req.remotePort = 3000;
49 req.headers = headersCL;
50 req.startOfRequest = std::chrono::steady_clock::now();
51 req.body = bodyDevice;
53 Q_EMIT processRequestAsync(&req);
56 req.m_eventLoop.exec();
59 ret.body = req.m_responseData;
60 ret.statusCode = req.m_statusCode;
61 ret.headers = req.m_headers;
66 TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
72 return createRequest(method, path.
toLatin1(), query, headers, body);
75 bool TestEngine::init()
77 return initApplication() && postForkApplication();
80 SequentialBuffer::SequentialBuffer(
QByteArray *buffer)
85 bool SequentialBuffer::isSequential()
const 90 qint64 SequentialBuffer::bytesAvailable()
const 95 qint64 SequentialBuffer::readData(
char *data, qint64 maxlen)
98 memcpy(data, mid.
data(), mid.
size());
104 qint64 SequentialBuffer::writeData(
const char *data, qint64 len)
111 qint64 TestEngineConnection::doWrite(
const char *data, qint64 len)
113 m_responseData.append(data, len);
117 bool TestEngineConnection::writeHeaders(quint16 status,
const Headers &headers)
119 m_statusCode = status;
125 void TestEngineConnection::processingFinished()
130 #include "moc_testengine.cpp"
bool isEmpty() const const
virtual bool open(QIODeviceBase::OpenMode mode)
virtual qint64 size() const const
The Cutelyst namespace holds all public Cutelyst API.
QByteArray mid(qsizetype pos, qsizetype len) const const
virtual qint64 bytesAvailable() const const
QByteArray toLatin1() const const
The Cutelyst application.
qsizetype size() const const
QByteArray & remove(qsizetype pos, qsizetype len)