cutelyst 3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
useragent.h
1/*
2 * SPDX-FileCopyrightText: (C) 2019-2022 Daniel Nicoletti <dantti12@gmail.com>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef C_USERAGENT_H
6#define C_USERAGENT_H
7
8#include <Cutelyst/cutelyst_global.h>
9
10#include <QNetworkReply>
11
12class QIODevice;
13class QJsonArray;
14class QJsonObject;
15class QJsonDocument;
16class QHttpMultiPart;
17class QNetworkRequest;
19
20namespace Cutelyst {
21
22class Context;
23class Request;
24
25namespace UA {
26
27CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkAccessManager *networkAccessManager();
28
29CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *head(const QNetworkRequest &request);
30CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *get(const QNetworkRequest &request);
31CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *post(const QNetworkRequest &request,
32 QIODevice *data);
33CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *post(const QNetworkRequest &request,
34 const QByteArray &data);
35CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *put(const QNetworkRequest &request,
36 QIODevice *data);
37CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *put(const QNetworkRequest &request,
38 const QByteArray &data);
39CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *deleteResource(const QNetworkRequest &request);
40CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *sendCustomRequest(const QNetworkRequest &request,
41 const QByteArray &verb,
42 QIODevice *data = nullptr);
43CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *sendCustomRequest(const QNetworkRequest &request,
44 const QByteArray &verb,
45 const QByteArray &data);
46
47CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *post(const QNetworkRequest &request,
48 QHttpMultiPart *multiPart);
49CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *put(const QNetworkRequest &request,
50 QHttpMultiPart *multiPart);
51// On Qt < 5.8 it returns nullptr
52CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *sendCustomRequest(const QNetworkRequest &request,
53 const QByteArray &verb,
54 QHttpMultiPart *multiPart);
55
56// These methods set the Content-Type header to 'application/json'
57CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *postJson(const QNetworkRequest &request,
58 const QJsonDocument &doc);
59CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *putJson(const QNetworkRequest &request,
60 const QJsonDocument &doc);
61CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *
62 sendCustomRequestJson(const QNetworkRequest &request,
63 const QByteArray &verb,
64 const QJsonDocument &doc);
65
66CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *postJsonObject(const QNetworkRequest &request,
67 const QJsonObject &obj);
68CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *putJsonObject(const QNetworkRequest &request,
69 const QJsonObject &obj);
70CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *
71 sendCustomRequestJsonObject(const QNetworkRequest &request,
72 const QByteArray &verb,
73 const QJsonObject &obj);
74
75CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *postJsonArray(const QNetworkRequest &request,
76 const QJsonArray &obj);
77CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *putJsonArray(const QNetworkRequest &request,
78 const QJsonArray &obj);
79CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *
80 sendCustomRequestJsonArray(const QNetworkRequest &request,
81 const QByteArray &verb,
82 const QJsonArray &obj);
83
88CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *forwardRequest(Request *request,
89 const QUrl &destination);
90
97CUTELYST_PLUGIN_USERAGENT_EXPORT QNetworkReply *forwardRequestResponse(Context *c,
98 const QUrl &destination);
99
104CUTELYST_PLUGIN_USERAGENT_EXPORT void forwardAsync(Context *c, const QUrl &destination);
105} // namespace UA
106
107} // namespace Cutelyst
108
109#endif // C_USERAGENT_H
The Cutelyst Context.
Definition context.h:39
The Cutelyst namespace holds all public Cutelyst API.
Definition Mainpage.dox:8