6#include <QtCore/private/qstringconverter_p.h>
8#include "QtCore/qmimedatabase.h"
41 return view.toString().toUtf8();
54 if (
c ==
'"' ||
c ==
'\\')
66 static_assert(std::is_nothrow_move_constructible_v<
decltype(m_body)>);
67 static_assert(std::is_nothrow_move_assignable_v<
decltype(m_body)>);
71 m_headerValue +=
"form-data; name=\"";
73 m_headerValue +=
"\"";
110 dst.resize(
in.size());
123 m_originalBodyName =
name.toString();
180 m_originalBodyName =
fileName.toString();
195 m_httpHeaders = headers;
213 if (!m_originalBodyName.
isNull()) {
215 const auto enc = utf8 ? m_originalBodyName.
toUtf8() : m_originalBodyName.
toLatin1();
216 m_headerValue +=
"; filename=\"";
218 m_headerValue +=
"\"";
229#if QT_CONFIG(mimetype)
241 m_httpHeaders.
valueAt(
i).toByteArray());
249 if (
auto d = std::get_if<QIODevice*>(&m_body))
250 httpPart.setBodyDevice(*
d);
251 else if (
auto b = std::get_if<QByteArray>(&m_body))
252 httpPart.setBody(*
b);
295 std::vector<QFormDataPartBuilder>
parts;
346 return d->parts.emplace_back(
name, QFormDataPartBuilder::PrivateConstructor());
361 for (
auto &
part :
d->parts)
QByteArray toByteArray() const
QByteArray toPercentEncoding(const QByteArray &exclude=QByteArray(), const QByteArray &include=QByteArray(), char percent='%') const
bool isEmpty() const noexcept
Returns true if the byte array has size 0; otherwise returns false.
static QByteArray fromRawData(const char *data, qsizetype size)
Constructs a QByteArray that uses the first size bytes of the data array.
void append(const QHttpPart &httpPart)
Appends httpPart to this multipart.
The QHttpPart class holds a body part to be used inside a HTTP multipart MIME message.
\inmodule QtCore \reentrant
QMimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device) const
Returns a MIME type for the given fileName and device data.
@ ContentDispositionHeader
QByteArray toLatin1() const &
bool isNull() const
Returns true if this string is null; otherwise returns false.
QByteArray toUtf8() const &
Combined button and popup list for selecting options.
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION bool isAscii(QLatin1StringView s) noexcept
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLboolean GLboolean GLboolean b
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QHttpMultiPart * multiPart
[0]
static char * convertFromUnicode(char *out, QStringView in, QStringConverter::State *state) noexcept