5#ifndef CUTELYST_REQUEST_H
6#define CUTELYST_REQUEST_H
8#include <Cutelyst/cutelyst_export.h>
9#include <Cutelyst/headers.h>
10#include <Cutelyst/paramsmultimap.h>
12#include <QtCore/qobject.h>
13#include <QtCore/qstringlist.h>
92 [[nodiscard]]
QString hostname()
const;
97 [[nodiscard]] quint16 port()
const noexcept;
103 [[nodiscard]]
QUrl uri()
const;
114 [[nodiscard]]
QString base()
const;
120 [[nodiscard]]
QString path()
const noexcept;
127 [[nodiscard]]
QString match()
const noexcept;
151 [[nodiscard]]
QStringList arguments()
const noexcept;
162 [[nodiscard]]
inline QStringList args()
const noexcept;
182 [[nodiscard]]
bool secure()
const noexcept;
204 [[nodiscard]]
QVariant bodyData()
const;
247 const QString &defaultValue = {})
const;
265 const QString &defaultValue = {})
const;
300 const QString &defaultValue = {})
const;
319 const QString &defaultValue = {})
const;
331 [[nodiscard]]
inline QByteArray contentEncoding()
const noexcept;
336 [[nodiscard]]
inline QByteArray contentType()
const;
373 [[nodiscard]]
QByteArray method() const noexcept;
378 [[nodiscard]]
bool isPost() const noexcept;
383 [[nodiscard]]
bool isGet() const noexcept;
388 [[nodiscard]]
bool isHead() const noexcept;
393 [[nodiscard]]
bool isPut() const noexcept;
398 [[nodiscard]]
bool isPatch() const noexcept;
403 [[nodiscard]]
bool isDelete() const noexcept;
408 [[nodiscard]]
QByteArray protocol() const noexcept;
414 [[nodiscard]]
bool xhr() const noexcept;
419 [[nodiscard]] inline
QByteArray userAgent() const noexcept;
424 [[nodiscard]] inline
QByteArray referer() const noexcept;
429 [[nodiscard]]
QString remoteUser() const noexcept;
478 bool append = false) const;
546 RequestPrivate *d_ptr;
549 friend class Application;
550 friend class Dispatcher;
551 friend class DispatchType;
552 friend class Context;
603 return headers().contentEncoding();
608 return headers().contentType();
QVariantMap bodyParametersVariant() const
QCborValue bodyCbor() const
void webSocketBinaryMessage(const QByteArray &message, Cutelyst::Context *c)
Emitted when the websocket receives a binary message, this accounts for all binary frames till the la...
QVariantMap queryParametersVariant() const
QString queryParameter(const QString &key, const QString &defaultValue={}) const
QString addressString() const
void webSocketBinaryFrame(const QByteArray &message, bool isLastFrame, Cutelyst::Context *c)
Emitted when the websocket receives a binary frame, this is usefull for parsing big chunks of data wi...
bool isGet() const noexcept
QString queryKeywords() const
QString bodyParameter(const QString &key, const QString &defaultValue={}) const
QVector< Upload * > uploads() const
ParamsMultiMap bodyParameters() const
QJsonArray bodyJsonArray() const
bool xhr() const noexcept
QJsonObject bodyJsonObject() const
QStringList captures() const noexcept
QByteArrayList cookies(QAnyStringView name) const
bool isPut() const noexcept
bool isDelete() const noexcept
QMultiMap< QAnyStringView, Upload * > uploadsMap() const
QUrl uriWith(const ParamsMultiMap &args, bool append=false) const
bool isPost() const noexcept
void webSocketTextFrame(const QString &message, bool isLastFrame, Cutelyst::Context *c)
Emitted when the websocket receives a text frame, this is usefull for parsing big chunks of data with...
void webSocketPong(const QByteArray &payload, Cutelyst::Context *c)
Emitted when the websocket receives a pong frame, which might include a payload.
void webSocketClosed(quint16 closeCode, const QString &reason)
Emitted when the websocket receives a close frame, including a close code and a reason,...
QJsonDocument bodyJsonDocument() const
ParamsMultiMap mangleParams(const ParamsMultiMap &args, bool append=false) const
void setCaptures(const QStringList &captures)
QByteArray header(QAnyStringView key) const noexcept
void webSocketTextMessage(const QString &message, Cutelyst::Context *c)
Emitted when the websocket receives a text message, this accounts for all text frames till the last o...
Headers headers() const noexcept
QIODevice * body() const noexcept
ParamsMultiMap queryParameters() const
QString queryParam(const QString &key, const QString &defaultValue={}) const
bool isPatch() const noexcept
Engine * engine() const noexcept
QString bodyParam(const QString &key, const QString &defaultValue={}) const
QByteArray cookie(QAnyStringView name) const
Request(EngineRequest *engineRequest)
bool isHead() const noexcept
void setArguments(const QStringList &arguments)
Upload * upload(QAnyStringView name) const
QHostAddress address() const noexcept
void setMatch(const QString &match)
Cutelyst Upload handles file upload requests.
QVector< Upload * > Uploads
QMultiMap< QString, QString > ParamsMultiMap
The Cutelyst namespace holds all public Cutelyst API.