MCPcopy Create free account
hub / github.com/awawa-dev/HyperHDR / onReplySendHeadersRequested

Method onReplySendHeadersRequested

sources/webserver/QtHttpClientWrapper.cpp:301–342  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

299}
300
301void QtHttpClientWrapper::onReplySendHeadersRequested(void)
302{
303 QtHttpReply* reply = qobject_cast<QtHttpReply*> (sender());
304
305 if (reply != Q_NULLPTR)
306 {
307 QByteArray data;
308 // HTTP Version + Status Code + Status Msg
309 data.append(QtHttpServer::HTTP_VERSION.toUtf8());
310 data.append(SPACE);
311 data.append(QByteArray::number(reply->getStatusCode()));
312 data.append(SPACE);
313 data.append(QtHttpReply::getStatusTextForCode(reply->getStatusCode()));
314 data.append(CRLF);
315
316 if (reply->useChunked()) // Header name: header value
317 {
318 static const QByteArray& CHUNKED = QByteArrayLiteral("chunked");
319 reply->addHeader(QtHttpHeader::TransferEncoding, CHUNKED);
320 }
321 else
322 {
323 reply->addHeader(QtHttpHeader::ContentLength, QByteArray::number(reply->getRawDataSize()));
324 }
325
326 const QList<QByteArray>& headersList = reply->getHeadersList();
327
328 foreach(const QByteArray & header, headersList)
329 {
330 data.append(header);
331 data.append(COLON);
332 data.append(SPACE);
333 data.append(reply->getHeader(header));
334 data.append(CRLF);
335 }
336
337 // empty line
338 data.append(CRLF);
339 m_sockClient->write(data);
340 m_sockClient->flush();
341 }
342}
343
344void QtHttpClientWrapper::sendToClientWithReply(QtHttpReply* reply)
345{

Callers

nothing calls this directly

Calls 6

getStatusCodeMethod · 0.80
useChunkedMethod · 0.80
getHeadersListMethod · 0.80
addHeaderMethod · 0.45
getRawDataSizeMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected