|
QGIS API Documentation
2.2.0-Valmiera
|
HTTP request/response manager that is redirect-aware. More...
#include <qgshttptransaction.h>
Public Slots | |
| void | dataStarted (int id) |
| void | dataHeaderReceived (const QHttpResponseHeader &resp) |
| void | dataReceived (const QHttpResponseHeader &resp) |
| void | dataProgress (int done, int total) |
| void | dataFinished (int id, bool error) |
| void | transactionFinished (bool error) |
| void | dataStateChanged (int state) |
| void | networkTimedOut () |
| void | abort () |
| Aborts the current transaction. | |
Signals | |
| void | setProgress (int done, int total) |
| legacy code. | |
| void | dataReadProgress (int theProgress) |
| Signal for progress update. | |
| void | totalSteps (int theTotalSteps) |
| Signal for adjusted number of steps. | |
| void | statusChanged (QString theStatusQString) |
| emit a signal to be caught by qgisapp and display a msg on status bar | |
Public Member Functions | |
| QgsHttpTransaction (QString uri, QString proxyHost=QString(), int proxyPort=80, QString proxyUser=QString(), QString proxyPass=QString(), QNetworkProxy::ProxyType proxyType=QNetworkProxy::NoProxy, QString userName=QString(), QString password=QString()) | |
| Constructor. | |
| virtual | ~QgsHttpTransaction () |
| Destructor. | |
| void | getAsynchronously () |
| bool | getSynchronously (QByteArray &respondedContent, int redirections=0, const QByteArray *postData=0) |
| Gets the response synchronously. | |
| QString | responseContentType () |
| QString | errorString () |
| If an operation returns 0 (e.g. | |
| void | setCredentials (const QString &username, const QString &password) |
| Set the credentials (username and password) | |
| int | networkTimeout () const |
| Returns the network timeout in msec. | |
| void | setNetworkTimeout (int msec) |
| Sets the network timeout in milliseconds. | |
Static Public Member Functions | |
| static bool | applyProxySettings (QHttp &http, const QString &url) |
| Apply proxy settings from QSettings to a http object. | |
Private Member Functions | |
| QgsHttpTransaction () | |
| Default constructor is forbidden. | |
Private Attributes | |
| QHttp * | http |
| Indicates the associated QHttp object. | |
| int | httpid |
| Indicates the QHttp ID. | |
| bool | httpactive |
| Indicates if the transaction is in progress. | |
| QByteArray | httpresponse |
| QString | httpresponsecontenttype |
| QString | httpurl |
| The original URL requested for this transaction. | |
| QString | httphost |
| The host being used for this transaction. | |
| QString | httpredirecturl |
| If not empty, indicates that the QHttp is a redirect to the contents of this variable. | |
| int | httpredirections |
| Number of http redirections this transaction has been subjected to. | |
| QTimer * | mWatchdogTimer |
| Indicates the associated QTimer object - used to detect network timeouts. | |
| QString | mError |
| The error message associated with the last HTTP error. | |
| QString | mUserName |
| User name. | |
| QString | mPassword |
| Password. | |
| int | mNetworkTimeoutMsec |
| Network timeout in milliseconds. | |
HTTP request/response manager that is redirect-aware.
This class extends the Qt QHttp concept by being able to recognise and respond to redirection responses (e.g. HTTP code 302)
Definition at line 36 of file qgshttptransaction.h.
| QgsHttpTransaction::QgsHttpTransaction | ( | QString | uri, |
| QString | proxyHost = QString(), |
||
| int | proxyPort = 80, |
||
| QString | proxyUser = QString(), |
||
| QString | proxyPass = QString(), |
||
| QNetworkProxy::ProxyType | proxyType = QNetworkProxy::NoProxy, |
||
| QString | userName = QString(), |
||
| QString | password = QString() |
||
| ) |
Constructor.
Definition at line 38 of file qgshttptransaction.cpp.
References mNetworkTimeoutMsec.
|
virtual |
|
private |
Default constructor is forbidden.
Definition at line 61 of file qgshttptransaction.cpp.
|
slot |
Aborts the current transaction.
Definition at line 556 of file qgshttptransaction.cpp.
References http.
|
static |
Apply proxy settings from QSettings to a http object.
Definition at line 499 of file qgshttptransaction.cpp.
Referenced by getSynchronously().
|
slot |
Definition at line 334 of file qgshttptransaction.cpp.
References http, httpactive, httpresponse, mError, QgsDebugMsg, and tr.
Referenced by getSynchronously().
|
slot |
Definition at line 259 of file qgshttptransaction.cpp.
References httpredirecturl, httpresponsecontenttype, mError, mNetworkTimeoutMsec, mWatchdogTimer, QgsDebugMsg, and tr.
Referenced by getSynchronously().
|
slot |
Definition at line 309 of file qgshttptransaction.cpp.
References dataReadProgress(), mNetworkTimeoutMsec, mWatchdogTimer, statusChanged(), totalSteps(), and tr.
Referenced by getSynchronously().
|
signal |
Signal for progress update.
Referenced by dataProgress(), and getSynchronously().
|
slot |
Definition at line 290 of file qgshttptransaction.cpp.
References http, and httpresponse.
Referenced by getSynchronously().
|
slot |
Definition at line 252 of file qgshttptransaction.cpp.
References QgsDebugMsg.
Referenced by getSynchronously().
|
slot |
Definition at line 428 of file qgshttptransaction.cpp.
References httphost, httpurl, mNetworkTimeoutMsec, mWatchdogTimer, QgsDebugMsg, statusChanged(), and tr.
Referenced by getSynchronously().
| QString QgsHttpTransaction::errorString | ( | ) |
If an operation returns 0 (e.g.
getSynchronously()), this function returns the text of the error associated with the failure. Interactive users of this provider can then, for example, call a QMessageBox to display the contents.
Definition at line 494 of file qgshttptransaction.cpp.
References mError.
| void QgsHttpTransaction::getAsynchronously | ( | ) |
Definition at line 77 of file qgshttptransaction.cpp.
| bool QgsHttpTransaction::getSynchronously | ( | QByteArray & | respondedContent, |
| int | redirections = 0, |
||
| const QByteArray * | postData = 0 |
||
| ) |
Gets the response synchronously.
Note that signals will still be emitted while in this function.
The function returns false if there is an error while getting the response.
| [out] | respondedContent | is replaced with the new content. |
| [in] | redirections | is used to measure how many http redirections we've been through. Clients typically don't need to set this. |
| postData | data to send with the http message. This is only used for HTTP POST. If 0 then the request is done with HTTP GET. |
Definition at line 84 of file qgshttptransaction.cpp.
References applyProxySettings(), dataFinished(), dataHeaderReceived(), dataProgress(), dataReadProgress(), dataReceived(), dataStarted(), dataStateChanged(), getSynchronously(), http, HTTP_PORT_DEFAULT, httpactive, httphost, httpid, httpredirections, httpredirecturl, httpresponse, httpurl, mError, mNetworkTimeoutMsec, mPassword, mUserName, mWatchdogTimer, networkTimedOut(), QgsDebugMsg, setCredentials(), statusChanged(), and transactionFinished().
Referenced by getSynchronously().
|
slot |
Definition at line 481 of file qgshttptransaction.cpp.
References httpactive, mError, mNetworkTimeoutMsec, QgsDebugMsg, and tr.
Referenced by getSynchronously().
|
inline |
Returns the network timeout in msec.
Definition at line 99 of file qgshttptransaction.h.
| QString QgsHttpTransaction::responseContentType | ( | ) |
Definition at line 246 of file qgshttptransaction.cpp.
References httpresponsecontenttype.
| void QgsHttpTransaction::setCredentials | ( | const QString & | username, |
| const QString & | password | ||
| ) |
Set the credentials (username and password)
Definition at line 72 of file qgshttptransaction.cpp.
References mPassword, and mUserName.
Referenced by getSynchronously().
|
inline |
Sets the network timeout in milliseconds.
Definition at line 101 of file qgshttptransaction.h.
|
signal |
legacy code.
This signal is currently not emitted and only kept for API compatibility
|
signal |
emit a signal to be caught by qgisapp and display a msg on status bar
Referenced by dataProgress(), dataStateChanged(), and getSynchronously().
|
signal |
Signal for adjusted number of steps.
Referenced by dataProgress().
|
slot |
Definition at line 383 of file qgshttptransaction.cpp.
References http, httpactive, httpresponse, mError, QgsDebugMsg, and tr.
Referenced by getSynchronously().
|
private |
Indicates the associated QHttp object.
Definition at line 151 of file qgshttptransaction.h.
Referenced by abort(), dataFinished(), dataReceived(), getSynchronously(), and transactionFinished().
|
private |
Indicates if the transaction is in progress.
Definition at line 161 of file qgshttptransaction.h.
Referenced by dataFinished(), getSynchronously(), networkTimedOut(), and transactionFinished().
|
private |
The host being used for this transaction.
Definition at line 181 of file qgshttptransaction.h.
Referenced by dataStateChanged(), and getSynchronously().
|
private |
Indicates the QHttp ID.
Definition at line 156 of file qgshttptransaction.h.
Referenced by getSynchronously().
|
private |
Number of http redirections this transaction has been subjected to.
TODO: Use this as part of a redirection loop detector
Definition at line 196 of file qgshttptransaction.h.
Referenced by getSynchronously().
|
private |
If not empty, indicates that the QHttp is a redirect to the contents of this variable.
Definition at line 187 of file qgshttptransaction.h.
Referenced by dataHeaderReceived(), and getSynchronously().
|
private |
Definition at line 166 of file qgshttptransaction.h.
Referenced by dataFinished(), dataReceived(), getSynchronously(), and transactionFinished().
|
private |
Definition at line 171 of file qgshttptransaction.h.
Referenced by dataHeaderReceived(), and responseContentType().
|
private |
The original URL requested for this transaction.
Definition at line 176 of file qgshttptransaction.h.
Referenced by dataStateChanged(), and getSynchronously().
|
private |
The error message associated with the last HTTP error.
Definition at line 206 of file qgshttptransaction.h.
Referenced by dataFinished(), dataHeaderReceived(), errorString(), getSynchronously(), networkTimedOut(), and transactionFinished().
|
private |
Network timeout in milliseconds.
Definition at line 219 of file qgshttptransaction.h.
Referenced by dataHeaderReceived(), dataProgress(), dataStateChanged(), getSynchronously(), networkTimedOut(), and QgsHttpTransaction().
|
private |
Password.
Definition at line 216 of file qgshttptransaction.h.
Referenced by getSynchronously(), and setCredentials().
|
private |
User name.
Definition at line 211 of file qgshttptransaction.h.
Referenced by getSynchronously(), and setCredentials().
|
private |
Indicates the associated QTimer object - used to detect network timeouts.
Definition at line 201 of file qgshttptransaction.h.
Referenced by dataHeaderReceived(), dataProgress(), dataStateChanged(), and getSynchronously().
1.8.1.2