forked from jeena/FeedTheMonkey
added post
This commit is contained in:
parent
9cab3341b6
commit
5101a426c0
9 changed files with 139 additions and 33 deletions
|
@ -4,20 +4,27 @@
|
|||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkRequest>
|
||||
|
||||
TinyTinyRSS::TinyTinyRSS(QString serverUrl, QString sessionId)
|
||||
TinyTinyRSS::TinyTinyRSS(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
this->serverUrl = serverUrl;
|
||||
this->sessionId = sessionId;
|
||||
mNetworkManager = new QNetworkAccessManager(this);
|
||||
}
|
||||
|
||||
void TinyTinyRSS::initialize(const QString serverUrl, const QString sessionId)
|
||||
{
|
||||
mServerUrl = serverUrl;
|
||||
mSessionId = sessionId;
|
||||
}
|
||||
|
||||
TinyTinyRSS::~TinyTinyRSS()
|
||||
{
|
||||
|
||||
delete mNetworkManager;
|
||||
}
|
||||
|
||||
void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
|
||||
void TinyTinyRSS::doOperation(QString operation, QVariantMap opts)
|
||||
{
|
||||
QVariantMap options;
|
||||
options.insert("sid", this->sessionId);
|
||||
options.insert("sid", mSessionId);
|
||||
options.insert("op", operation);
|
||||
|
||||
QMapIterator<QString, QVariant> i(opts);
|
||||
|
@ -29,16 +36,27 @@ void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
|
|||
QJsonObject jsonobj = QJsonObject::fromVariantMap(options);
|
||||
QJsonDocument json = QJsonDocument(jsonobj);
|
||||
|
||||
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
|
||||
|
||||
QUrl url(this->serverUrl + "/api/");
|
||||
QNetworkRequest request(url);
|
||||
QNetworkRequest request(mServerUrl);
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||
|
||||
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyFinishedOperation(QNetworkReply)));
|
||||
manager->post(request, json.toBinaryData());
|
||||
QNetworkReply *reply = mNetworkManager->post(request, json.toBinaryData());
|
||||
connect(reply, SIGNAL(finished()), this, SLOT(reply()));
|
||||
}
|
||||
|
||||
void TinyTinyRSS::replyFinishedOperation(QNetworkReply *reply) {
|
||||
qWarning() << reply;
|
||||
void TinyTinyRSS::reply()
|
||||
{
|
||||
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
|
||||
|
||||
if (reply) {
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
//QJsonDocument json = QJsonDocument::fromBinaryData(reply->readAll());
|
||||
//mSessionId = json.toVariant().toMap().value("session_id");
|
||||
//emit sessionIdChanged(mSessionId);
|
||||
} else {
|
||||
int httpStatus = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
//do some error management
|
||||
qWarning() << "HTTP error: " << httpStatus;
|
||||
}
|
||||
reply->deleteLater();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue