MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / executeTask

Method executeTask

launcher/net/PasteUpload.cpp:70–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70void PasteUpload::executeTask()
71{
72 QNetworkRequest request{QUrl(m_uploadUrl)};
73 QNetworkReply *rep{};
74
75 request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8());
76
77 switch (m_pasteType) {
78 case NullPointer: {
79 QHttpMultiPart *multiPart =
80 new QHttpMultiPart{QHttpMultiPart::FormDataType};
81
82 QHttpPart filePart;
83 filePart.setBody(m_text);
84 filePart.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain");
85 filePart.setHeader(QNetworkRequest::ContentDispositionHeader,
86 "form-data; name=\"file\"; filename=\"log.txt\"");
87 multiPart->append(filePart);
88
89 rep = APPLICATION->network()->post(request, multiPart);
90 multiPart->setParent(rep);
91
92 break;
93 }
94 case Hastebin: {
95 request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8());
96 rep = APPLICATION->network()->post(request, m_text);
97 break;
98 }
99 case Mclogs: {
100 QUrlQuery postData;
101 postData.addQueryItem("content", m_text);
102 request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
103 rep = APPLICATION->network()->post(request, postData.toString().toUtf8());
104 break;
105 }
106 case PasteGG: {
107 QJsonObject obj;
108 QJsonDocument doc;
109 request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
110
111 obj.insert("expires", QDateTime::currentDateTimeUtc().addDays(100).toString(Qt::DateFormat::ISODate));
112
113 QJsonArray files;
114 QJsonObject logFileInfo;
115 QJsonObject logFileContentInfo;
116 logFileContentInfo.insert("format", "text");
117 logFileContentInfo.insert("value", QString::fromUtf8(m_text));
118 logFileInfo.insert("name", "log.txt");
119 logFileInfo.insert("content", logFileContentInfo);
120 files.append(logFileInfo);
121
122 obj.insert("files", files);
123
124 doc.setObject(obj);
125 rep = APPLICATION->network()->post(request, doc.toJson());
126 break;
127 }

Callers

nothing calls this directly

Calls 8

QUrlClass · 0.85
getUserAgentUncachedMethod · 0.80
appendMethod · 0.80
postMethod · 0.80
networkMethod · 0.80
insertMethod · 0.80
toJsonMethod · 0.80
toStringMethod · 0.45

Tested by

no test coverage detected