mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-09 00:08:52 -04:00
Remove duplicate http method enums
This commit is contained in:
parent
5ae0af9aaa
commit
a2f9868f6f
@ -1889,12 +1889,27 @@ Qgis.BrowserDirectoryMonitoring.baseClass = Qgis
|
||||
# monkey patching scoped based enum
|
||||
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
||||
Qgis.HttpMethod.Post.__doc__ = "POST method"
|
||||
Qgis.HttpMethod.Head.__doc__ = "HEAD method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.Put.__doc__ = "PUT method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.Delete.__doc__ = "DELETE method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.__doc__ = """Different methods of HTTP requests
|
||||
|
||||
.. versionadded:: 3.22
|
||||
|
||||
* ``Get``: GET method
|
||||
* ``Post``: POST method
|
||||
* ``Head``: HEAD method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
* ``Put``: PUT method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
* ``Delete``: DELETE method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
|
||||
"""
|
||||
# --
|
||||
|
@ -615,7 +615,10 @@ The development version
|
||||
enum class HttpMethod /BaseType=IntEnum/
|
||||
{
|
||||
Get,
|
||||
Post
|
||||
Post,
|
||||
Head,
|
||||
Put,
|
||||
Delete,
|
||||
};
|
||||
|
||||
enum class VectorExportResult /BaseType=IntEnum/
|
||||
|
@ -1865,12 +1865,27 @@ Qgis.BrowserDirectoryMonitoring.baseClass = Qgis
|
||||
# monkey patching scoped based enum
|
||||
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
||||
Qgis.HttpMethod.Post.__doc__ = "POST method"
|
||||
Qgis.HttpMethod.Head.__doc__ = "HEAD method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.Put.__doc__ = "PUT method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.Delete.__doc__ = "DELETE method. \n.. versionadded:: 3.44"
|
||||
Qgis.HttpMethod.__doc__ = """Different methods of HTTP requests
|
||||
|
||||
.. versionadded:: 3.22
|
||||
|
||||
* ``Get``: GET method
|
||||
* ``Post``: POST method
|
||||
* ``Head``: HEAD method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
* ``Put``: PUT method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
* ``Delete``: DELETE method.
|
||||
|
||||
.. versionadded:: 3.44
|
||||
|
||||
|
||||
"""
|
||||
# --
|
||||
|
@ -615,7 +615,10 @@ The development version
|
||||
enum class HttpMethod
|
||||
{
|
||||
Get,
|
||||
Post
|
||||
Post,
|
||||
Head,
|
||||
Put,
|
||||
Delete,
|
||||
};
|
||||
|
||||
enum class VectorExportResult
|
||||
|
@ -148,6 +148,11 @@ QVariantMap QgsHttpRequestAlgorithm::processAlgorithm( const QVariantMap ¶me
|
||||
errorCode = blockingRequest.post( request, data.toUtf8() );
|
||||
break;
|
||||
}
|
||||
|
||||
case Qgis::HttpMethod::Head:
|
||||
case Qgis::HttpMethod::Put:
|
||||
case Qgis::HttpMethod::Delete:
|
||||
throw QgsProcessingException( QObject::tr( "Unsupported HTTP method: %1" ).arg( qgsEnumValueToKey( httpMethod ) ) );
|
||||
}
|
||||
|
||||
// Handle reply
|
||||
|
@ -59,7 +59,7 @@ void QgsBlockingNetworkRequest::setAuthCfg( const QString &authCfg )
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::get( QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback, RequestFlags requestFlags )
|
||||
{
|
||||
return doRequest( Get, request, forceRefresh, feedback, requestFlags );
|
||||
return doRequest( Qgis::HttpMethod::Get, request, forceRefresh, feedback, requestFlags );
|
||||
}
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::post( QNetworkRequest &request, const QByteArray &data, bool forceRefresh, QgsFeedback *feedback )
|
||||
@ -73,12 +73,12 @@ QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::post( QNetworkRe
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::post( QNetworkRequest &request, QIODevice *data, bool forceRefresh, QgsFeedback *feedback )
|
||||
{
|
||||
mPayloadData = data;
|
||||
return doRequest( Post, request, forceRefresh, feedback );
|
||||
return doRequest( Qgis::HttpMethod::Post, request, forceRefresh, feedback );
|
||||
}
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::head( QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback )
|
||||
{
|
||||
return doRequest( Head, request, forceRefresh, feedback );
|
||||
return doRequest( Qgis::HttpMethod::Head, request, forceRefresh, feedback );
|
||||
}
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::put( QNetworkRequest &request, const QByteArray &data, QgsFeedback *feedback )
|
||||
@ -92,41 +92,41 @@ QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::put( QNetworkReq
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::put( QNetworkRequest &request, QIODevice *data, QgsFeedback *feedback )
|
||||
{
|
||||
mPayloadData = data;
|
||||
return doRequest( Put, request, true, feedback );
|
||||
return doRequest( Qgis::HttpMethod::Put, request, true, feedback );
|
||||
}
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::deleteResource( QNetworkRequest &request, QgsFeedback *feedback )
|
||||
{
|
||||
return doRequest( Delete, request, true, feedback );
|
||||
return doRequest( Qgis::HttpMethod::Delete, request, true, feedback );
|
||||
}
|
||||
|
||||
void QgsBlockingNetworkRequest::sendRequestToNetworkAccessManager( const QNetworkRequest &request )
|
||||
{
|
||||
switch ( mMethod )
|
||||
{
|
||||
case Get:
|
||||
case Qgis::HttpMethod::Get:
|
||||
mReply = QgsNetworkAccessManager::instance()->get( request );
|
||||
break;
|
||||
|
||||
case Post:
|
||||
case Qgis::HttpMethod::Post:
|
||||
mReply = QgsNetworkAccessManager::instance()->post( request, mPayloadData );
|
||||
break;
|
||||
|
||||
case Head:
|
||||
case Qgis::HttpMethod::Head:
|
||||
mReply = QgsNetworkAccessManager::instance()->head( request );
|
||||
break;
|
||||
|
||||
case Put:
|
||||
case Qgis::HttpMethod::Put:
|
||||
mReply = QgsNetworkAccessManager::instance()->put( request, mPayloadData );
|
||||
break;
|
||||
|
||||
case Delete:
|
||||
case Qgis::HttpMethod::Delete:
|
||||
mReply = QgsNetworkAccessManager::instance()->deleteResource( request );
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::doRequest( QgsBlockingNetworkRequest::Method method, QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback, RequestFlags requestFlags )
|
||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::doRequest( Qgis::HttpMethod method, QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback, RequestFlags requestFlags )
|
||||
{
|
||||
mMethod = method;
|
||||
mFeedback = feedback;
|
||||
@ -329,7 +329,7 @@ void QgsBlockingNetworkRequest::replyProgress( qint64 bytesReceived, qint64 byte
|
||||
}
|
||||
}
|
||||
|
||||
if ( mMethod == Put || mMethod == Post )
|
||||
if ( mMethod == Qgis::HttpMethod::Put || mMethod == Qgis::HttpMethod::Post )
|
||||
emit uploadProgress( bytesReceived, bytesTotal );
|
||||
else
|
||||
emit downloadProgress( bytesReceived, bytesTotal );
|
||||
@ -451,7 +451,7 @@ void QgsBlockingNetworkRequest::replyFinished()
|
||||
|
||||
mReplyContent = QgsNetworkReplyContent( mReply );
|
||||
const QByteArray content = mReply->readAll();
|
||||
if ( !( mRequestFlags & RequestFlag::EmptyResponseIsValid ) && content.isEmpty() && !mGotNonEmptyResponse && mMethod == Get )
|
||||
if ( !( mRequestFlags & RequestFlag::EmptyResponseIsValid ) && content.isEmpty() && !mGotNonEmptyResponse && mMethod == Qgis::HttpMethod::Get )
|
||||
{
|
||||
mErrorMessage = tr( "empty response: %1" ).arg( mReply->errorString() );
|
||||
mErrorCode = ServerExceptionError;
|
||||
|
@ -257,19 +257,10 @@ class CORE_EXPORT QgsBlockingNetworkRequest : public QObject
|
||||
|
||||
private :
|
||||
|
||||
enum Method
|
||||
{
|
||||
Get,
|
||||
Post,
|
||||
Head,
|
||||
Put,
|
||||
Delete
|
||||
};
|
||||
|
||||
//! The reply to the request
|
||||
QNetworkReply *mReply = nullptr;
|
||||
|
||||
Method mMethod = Get;
|
||||
Qgis::HttpMethod mMethod = Qgis::HttpMethod::Get;
|
||||
|
||||
//! payload data used in PUT/POST request
|
||||
QIODevice *mPayloadData;
|
||||
@ -304,7 +295,7 @@ class CORE_EXPORT QgsBlockingNetworkRequest : public QObject
|
||||
|
||||
QPointer< QgsFeedback > mFeedback;
|
||||
|
||||
ErrorCode doRequest( Method method, QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback = nullptr, RequestFlags requestFlags = RequestFlags() );
|
||||
ErrorCode doRequest( Qgis::HttpMethod method, QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback = nullptr, RequestFlags requestFlags = RequestFlags() );
|
||||
|
||||
QString errorMessageFailedAuth();
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsauthmanager.h"
|
||||
#include "qgsvariantutils.h"
|
||||
#include "qgslogger.h"
|
||||
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkRequest>
|
||||
@ -84,6 +85,13 @@ void QgsFileDownloader::startDownload()
|
||||
mReply = nam->post( request, mData );
|
||||
break;
|
||||
}
|
||||
|
||||
case Qgis::HttpMethod::Head:
|
||||
case Qgis::HttpMethod::Put:
|
||||
case Qgis::HttpMethod::Delete:
|
||||
QgsDebugError( QStringLiteral( "Unsupported HTTP method: %1" ).arg( qgsEnumValueToKey( mHttpMethod ) ) );
|
||||
// not supported
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !mAuthCfg.isEmpty() )
|
||||
|
@ -1000,7 +1000,10 @@ class CORE_EXPORT Qgis
|
||||
enum class HttpMethod : int
|
||||
{
|
||||
Get = 0, //!< GET method
|
||||
Post = 1 //!< POST method
|
||||
Post = 1, //!< POST method
|
||||
Head, //!< HEAD method. \since QGIS 3.44
|
||||
Put, //!< PUT method. \since QGIS 3.44
|
||||
Delete, //!< DELETE method. \since QGIS 3.44
|
||||
};
|
||||
Q_ENUM( HttpMethod )
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
#include "qgswfsconstants.h"
|
||||
#include "qgswfsdatasourceuri.h"
|
||||
#include "qgsmessagelog.h"
|
||||
|
||||
#include <QUrlQuery>
|
||||
|
||||
@ -242,18 +241,18 @@ QUrl QgsWFSDataSourceURI::baseURL( bool bIncludeServiceWFS ) const
|
||||
return url;
|
||||
}
|
||||
|
||||
QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, const Method &method ) const
|
||||
QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, Qgis::HttpMethod method ) const
|
||||
{
|
||||
QUrl url;
|
||||
QUrlQuery urlQuery;
|
||||
switch ( method )
|
||||
{
|
||||
case Post:
|
||||
case Qgis::HttpMethod::Post:
|
||||
url = QUrl( mPostEndpoints.contains( request ) ? mPostEndpoints[request] : mURI.param( QgsWFSConstants::URI_PARAM_URL ) );
|
||||
urlQuery = QUrlQuery( url );
|
||||
break;
|
||||
default:
|
||||
case Get:
|
||||
|
||||
case Qgis::HttpMethod::Get:
|
||||
{
|
||||
const auto defaultUrl( QUrl( mURI.param( QgsWFSConstants::URI_PARAM_URL ) ) );
|
||||
if ( mGetEndpoints.contains( request ) )
|
||||
@ -288,9 +287,16 @@ QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, const Method &meth
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case Qgis::HttpMethod::Head:
|
||||
case Qgis::HttpMethod::Put:
|
||||
case Qgis::HttpMethod::Delete:
|
||||
// not supported, impossible to reach
|
||||
break;
|
||||
}
|
||||
|
||||
urlQuery.addQueryItem( QStringLiteral( "SERVICE" ), QStringLiteral( "WFS" ) );
|
||||
if ( method == Method::Get && !request.isEmpty() )
|
||||
if ( method == Qgis::HttpMethod::Get && !request.isEmpty() )
|
||||
urlQuery.addQueryItem( QStringLiteral( "REQUEST" ), request );
|
||||
url.setQuery( urlQuery );
|
||||
return url;
|
||||
|
@ -32,13 +32,6 @@
|
||||
class QgsWFSDataSourceURI
|
||||
{
|
||||
public:
|
||||
//! Http method for DCP URIs
|
||||
enum Method
|
||||
{
|
||||
Get,
|
||||
Post
|
||||
};
|
||||
|
||||
explicit QgsWFSDataSourceURI( const QString &uri );
|
||||
|
||||
//! Copy constructor
|
||||
@ -54,7 +47,7 @@ class QgsWFSDataSourceURI
|
||||
QUrl baseURL( bool bIncludeServiceWFS = true ) const;
|
||||
|
||||
//! Returns request URL (with SERVICE=WFS parameter)
|
||||
QUrl requestUrl( const QString &request, const Method &method = Method::Get ) const;
|
||||
QUrl requestUrl( const QString &request, Qgis::HttpMethod method = Qgis::HttpMethod::Get ) const;
|
||||
|
||||
//! Gets WFS version. Can be auto, 1.0.0, 1.1.0 or 2.0.0.
|
||||
QString version() const;
|
||||
|
@ -24,7 +24,7 @@ QgsWFSTransactionRequest::QgsWFSTransactionRequest( const QgsWFSDataSourceURI &u
|
||||
|
||||
bool QgsWFSTransactionRequest::send( const QDomDocument &doc, QDomDocument &serverResponse )
|
||||
{
|
||||
const QUrl url( mUri.requestUrl( QStringLiteral( "Transaction" ), QgsWFSDataSourceURI::Method::Post ) );
|
||||
const QUrl url( mUri.requestUrl( QStringLiteral( "Transaction" ), Qgis::HttpMethod::Post ) );
|
||||
|
||||
QgsDebugMsgLevel( doc.toString(), 4 );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user