From ffc7c45fee1bfa046cd2c605a43c9c5d2cf7eb62 Mon Sep 17 00:00:00 2001 From: nils Date: Wed, 21 Mar 2012 22:06:17 +0000 Subject: proof of concept for upload key to server git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@859 34ebc366-c3a9-4b3c-9f84-69acf7962910 --- keylist.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'keylist.cpp') diff --git a/keylist.cpp b/keylist.cpp index 3d93433..204e346 100644 --- a/keylist.cpp +++ b/keylist.cpp @@ -263,3 +263,48 @@ void KeyList::importKeys(QByteArray inBuffer) GpgImportInformation result = mCtx->importKey(inBuffer); new KeyImportDetailDialog(mCtx, result, this); } + +void KeyList::uploadKeyToServer(QByteArray *keys) +{ + QUrl reqUrl("http://localhost:11371/pks/add"); + qnam = new QNetworkAccessManager(this); + + QUrl params; + keys->replace("\n", "%0D%0A") + .replace("(", "%28") + .replace(")", "%29") + .replace("/", "%2F") + .replace(":", "%3A") + .replace("+","%2B") + .replace(' ', '+'); + + params.addEncodedQueryItem("keytext", *keys); + QNetworkRequest req(reqUrl); + + req.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded"); + + QNetworkReply *reply = qnam->post(req,params.encodedQuery()); + connect(reply, SIGNAL(finished()), + this, SLOT(uploadFinished())); + qDebug() << "REQURL: " << reqUrl; + qDebug() << "PARAMS.ENCODED: " << params.toEncoded(); +} + +void KeyList::uploadFinished() +{ + QNetworkReply *reply = qobject_cast(sender()); + + QByteArray response = reply->readAll(); + qDebug() << "RESPNOSE: " << response.data(); + //reply->readAll(); + qDebug() << "ERROR: " << reply->error(); + if (reply->error()) { + qDebug() << "Error while contacting keyserver!"; + return; + } else { + qDebug() << "Success while contacting keyserver!"; + } + + reply->deleteLater(); + reply = 0; +} -- cgit