Files
@ 7291e4c1ca28
Branch filter:
Location: libtransport.git/3rdparty/o2/src/o1requestor.h - annotation
7291e4c1ca28
2.2 KiB
text/plain
Add 3rdparty oauth 2 library
7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 7291e4c1ca28 | #ifndef O1REQUESTOR_H
#define O1REQUESTOR_H
#include <QObject>
#include <QNetworkRequest>
#include <QByteArray>
#include "o1.h"
class QNetworkAccessManager;
class QNetworkReply;
class O1;
/// Makes authenticated requests using OAuth 1.0.
class O1Requestor: public QObject {
Q_OBJECT
public:
explicit O1Requestor(QNetworkAccessManager *manager, O1 *authenticator, QObject *parent = 0);
public slots:
/// Make a GET request.
/// @param req Network request.
/// @param signingParameters Extra (non-OAuth) parameters participating in signing.
/// @return Reply.
QNetworkReply *get(const QNetworkRequest &req, const QList<O1RequestParameter> &signingParameters);
/// Make a POST request.
/// @param req Network request.
/// @param signingParameters Extra (non-OAuth) parameters participating in signing.
/// @param data Request payload.
/// @return Reply.
QNetworkReply *post(const QNetworkRequest &req, const QList<O1RequestParameter> &signingParameters, const QByteArray &data);
/// Make a POST request.
/// @param req Network request.
/// @param signingParameters Extra (non-OAuth) parameters participating in signing.
/// @param multiPart HTTPMultiPart.
/// @return Reply.
QNetworkReply *post(const QNetworkRequest &req, const QList<O1RequestParameter> &signingParameters, QHttpMultiPart *multiPart);
/// Make a PUT request.
/// @param req Network request.
/// @param signingParameters Extra (non-OAuth) parameters participating in signing.
/// @param data Request payload.
/// @return Reply.
QNetworkReply *put(const QNetworkRequest &req, const QList<O1RequestParameter> &signingParameters, const QByteArray &data);
protected:
/// Return new request based on the original, with the "Authentication:" header added.
QNetworkRequest setup(const QNetworkRequest &request, const QList<O1RequestParameter> &signingParameters, QNetworkAccessManager::Operation operation);
/// Augment reply with a timer.
QNetworkReply *addTimer(QNetworkReply *reply);
QNetworkAccessManager *manager_;
O1 *authenticator_;
};
#endif // O1REQUESTOR_H
|