Example #1
0
	void PasteServiceBase::handleMetadata ()
	{
		QNetworkReply *reply = qobject_cast<QNetworkReply*> (sender ());
		if (!reply)
		{
			qWarning () << Q_FUNC_INFO
					<< "sender is not a QNetworkReply:"
					<< sender ();
			return;
		}

		const auto& location = reply->header (QNetworkRequest::LocationHeader).toString ();
		if (!location.isEmpty ())
			FeedURL (location);
	}
	void HastebinService::handleFinished ()
	{
		sender ()->deleteLater ();
		auto reply = qobject_cast<QNetworkReply*> (sender ());
		const auto &bytes = reply->readAll ();
		QJson::Parser parser;
		bool ok;
		QVariantMap result = parser.parse (bytes, &ok).toMap ();
		if (!ok)
		{
			qWarning () << Q_FUNC_INFO
					<< "Ooops, cannot parse!"
					<< sender ();
			return;
		}
		QUrl url ("http://hastebin.com/");
		url.setPath (result ["key"].toString ());
		FeedURL (url.toString ());
	}