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
|
# monkey patching scoped based enum
|
||||||
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
||||||
Qgis.HttpMethod.Post.__doc__ = "POST 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
|
Qgis.HttpMethod.__doc__ = """Different methods of HTTP requests
|
||||||
|
|
||||||
.. versionadded:: 3.22
|
.. versionadded:: 3.22
|
||||||
|
|
||||||
* ``Get``: GET method
|
* ``Get``: GET method
|
||||||
* ``Post``: POST 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/
|
enum class HttpMethod /BaseType=IntEnum/
|
||||||
{
|
{
|
||||||
Get,
|
Get,
|
||||||
Post
|
Post,
|
||||||
|
Head,
|
||||||
|
Put,
|
||||||
|
Delete,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class VectorExportResult /BaseType=IntEnum/
|
enum class VectorExportResult /BaseType=IntEnum/
|
||||||
|
@ -1865,12 +1865,27 @@ Qgis.BrowserDirectoryMonitoring.baseClass = Qgis
|
|||||||
# monkey patching scoped based enum
|
# monkey patching scoped based enum
|
||||||
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
Qgis.HttpMethod.Get.__doc__ = "GET method"
|
||||||
Qgis.HttpMethod.Post.__doc__ = "POST 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
|
Qgis.HttpMethod.__doc__ = """Different methods of HTTP requests
|
||||||
|
|
||||||
.. versionadded:: 3.22
|
.. versionadded:: 3.22
|
||||||
|
|
||||||
* ``Get``: GET method
|
* ``Get``: GET method
|
||||||
* ``Post``: POST 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
|
enum class HttpMethod
|
||||||
{
|
{
|
||||||
Get,
|
Get,
|
||||||
Post
|
Post,
|
||||||
|
Head,
|
||||||
|
Put,
|
||||||
|
Delete,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class VectorExportResult
|
enum class VectorExportResult
|
||||||
|
@ -148,6 +148,11 @@ QVariantMap QgsHttpRequestAlgorithm::processAlgorithm( const QVariantMap ¶me
|
|||||||
errorCode = blockingRequest.post( request, data.toUtf8() );
|
errorCode = blockingRequest.post( request, data.toUtf8() );
|
||||||
break;
|
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
|
// Handle reply
|
||||||
|
@ -59,7 +59,7 @@ void QgsBlockingNetworkRequest::setAuthCfg( const QString &authCfg )
|
|||||||
|
|
||||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::get( QNetworkRequest &request, bool forceRefresh, QgsFeedback *feedback, RequestFlags requestFlags )
|
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 )
|
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 )
|
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::post( QNetworkRequest &request, QIODevice *data, bool forceRefresh, QgsFeedback *feedback )
|
||||||
{
|
{
|
||||||
mPayloadData = data;
|
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 )
|
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 )
|
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 )
|
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::put( QNetworkRequest &request, QIODevice *data, QgsFeedback *feedback )
|
||||||
{
|
{
|
||||||
mPayloadData = data;
|
mPayloadData = data;
|
||||||
return doRequest( Put, request, true, feedback );
|
return doRequest( Qgis::HttpMethod::Put, request, true, feedback );
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsBlockingNetworkRequest::ErrorCode QgsBlockingNetworkRequest::deleteResource( QNetworkRequest &request, QgsFeedback *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 )
|
void QgsBlockingNetworkRequest::sendRequestToNetworkAccessManager( const QNetworkRequest &request )
|
||||||
{
|
{
|
||||||
switch ( mMethod )
|
switch ( mMethod )
|
||||||
{
|
{
|
||||||
case Get:
|
case Qgis::HttpMethod::Get:
|
||||||
mReply = QgsNetworkAccessManager::instance()->get( request );
|
mReply = QgsNetworkAccessManager::instance()->get( request );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Post:
|
case Qgis::HttpMethod::Post:
|
||||||
mReply = QgsNetworkAccessManager::instance()->post( request, mPayloadData );
|
mReply = QgsNetworkAccessManager::instance()->post( request, mPayloadData );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Head:
|
case Qgis::HttpMethod::Head:
|
||||||
mReply = QgsNetworkAccessManager::instance()->head( request );
|
mReply = QgsNetworkAccessManager::instance()->head( request );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Put:
|
case Qgis::HttpMethod::Put:
|
||||||
mReply = QgsNetworkAccessManager::instance()->put( request, mPayloadData );
|
mReply = QgsNetworkAccessManager::instance()->put( request, mPayloadData );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Delete:
|
case Qgis::HttpMethod::Delete:
|
||||||
mReply = QgsNetworkAccessManager::instance()->deleteResource( request );
|
mReply = QgsNetworkAccessManager::instance()->deleteResource( request );
|
||||||
break;
|
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;
|
mMethod = method;
|
||||||
mFeedback = feedback;
|
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 );
|
emit uploadProgress( bytesReceived, bytesTotal );
|
||||||
else
|
else
|
||||||
emit downloadProgress( bytesReceived, bytesTotal );
|
emit downloadProgress( bytesReceived, bytesTotal );
|
||||||
@ -451,7 +451,7 @@ void QgsBlockingNetworkRequest::replyFinished()
|
|||||||
|
|
||||||
mReplyContent = QgsNetworkReplyContent( mReply );
|
mReplyContent = QgsNetworkReplyContent( mReply );
|
||||||
const QByteArray content = mReply->readAll();
|
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() );
|
mErrorMessage = tr( "empty response: %1" ).arg( mReply->errorString() );
|
||||||
mErrorCode = ServerExceptionError;
|
mErrorCode = ServerExceptionError;
|
||||||
|
@ -257,19 +257,10 @@ class CORE_EXPORT QgsBlockingNetworkRequest : public QObject
|
|||||||
|
|
||||||
private :
|
private :
|
||||||
|
|
||||||
enum Method
|
|
||||||
{
|
|
||||||
Get,
|
|
||||||
Post,
|
|
||||||
Head,
|
|
||||||
Put,
|
|
||||||
Delete
|
|
||||||
};
|
|
||||||
|
|
||||||
//! The reply to the request
|
//! The reply to the request
|
||||||
QNetworkReply *mReply = nullptr;
|
QNetworkReply *mReply = nullptr;
|
||||||
|
|
||||||
Method mMethod = Get;
|
Qgis::HttpMethod mMethod = Qgis::HttpMethod::Get;
|
||||||
|
|
||||||
//! payload data used in PUT/POST request
|
//! payload data used in PUT/POST request
|
||||||
QIODevice *mPayloadData;
|
QIODevice *mPayloadData;
|
||||||
@ -304,7 +295,7 @@ class CORE_EXPORT QgsBlockingNetworkRequest : public QObject
|
|||||||
|
|
||||||
QPointer< QgsFeedback > mFeedback;
|
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();
|
QString errorMessageFailedAuth();
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "qgsapplication.h"
|
#include "qgsapplication.h"
|
||||||
#include "qgsauthmanager.h"
|
#include "qgsauthmanager.h"
|
||||||
#include "qgsvariantutils.h"
|
#include "qgsvariantutils.h"
|
||||||
|
#include "qgslogger.h"
|
||||||
|
|
||||||
#include <QNetworkAccessManager>
|
#include <QNetworkAccessManager>
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
@ -84,6 +85,13 @@ void QgsFileDownloader::startDownload()
|
|||||||
mReply = nam->post( request, mData );
|
mReply = nam->post( request, mData );
|
||||||
break;
|
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() )
|
if ( !mAuthCfg.isEmpty() )
|
||||||
|
@ -1000,7 +1000,10 @@ class CORE_EXPORT Qgis
|
|||||||
enum class HttpMethod : int
|
enum class HttpMethod : int
|
||||||
{
|
{
|
||||||
Get = 0, //!< GET method
|
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 )
|
Q_ENUM( HttpMethod )
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "qgswfsconstants.h"
|
#include "qgswfsconstants.h"
|
||||||
#include "qgswfsdatasourceuri.h"
|
#include "qgswfsdatasourceuri.h"
|
||||||
#include "qgsmessagelog.h"
|
|
||||||
|
|
||||||
#include <QUrlQuery>
|
#include <QUrlQuery>
|
||||||
|
|
||||||
@ -242,18 +241,18 @@ QUrl QgsWFSDataSourceURI::baseURL( bool bIncludeServiceWFS ) const
|
|||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, const Method &method ) const
|
QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, Qgis::HttpMethod method ) const
|
||||||
{
|
{
|
||||||
QUrl url;
|
QUrl url;
|
||||||
QUrlQuery urlQuery;
|
QUrlQuery urlQuery;
|
||||||
switch ( method )
|
switch ( method )
|
||||||
{
|
{
|
||||||
case Post:
|
case Qgis::HttpMethod::Post:
|
||||||
url = QUrl( mPostEndpoints.contains( request ) ? mPostEndpoints[request] : mURI.param( QgsWFSConstants::URI_PARAM_URL ) );
|
url = QUrl( mPostEndpoints.contains( request ) ? mPostEndpoints[request] : mURI.param( QgsWFSConstants::URI_PARAM_URL ) );
|
||||||
urlQuery = QUrlQuery( url );
|
urlQuery = QUrlQuery( url );
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
case Get:
|
case Qgis::HttpMethod::Get:
|
||||||
{
|
{
|
||||||
const auto defaultUrl( QUrl( mURI.param( QgsWFSConstants::URI_PARAM_URL ) ) );
|
const auto defaultUrl( QUrl( mURI.param( QgsWFSConstants::URI_PARAM_URL ) ) );
|
||||||
if ( mGetEndpoints.contains( request ) )
|
if ( mGetEndpoints.contains( request ) )
|
||||||
@ -288,9 +287,16 @@ QUrl QgsWFSDataSourceURI::requestUrl( const QString &request, const Method &meth
|
|||||||
}
|
}
|
||||||
break;
|
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" ) );
|
urlQuery.addQueryItem( QStringLiteral( "SERVICE" ), QStringLiteral( "WFS" ) );
|
||||||
if ( method == Method::Get && !request.isEmpty() )
|
if ( method == Qgis::HttpMethod::Get && !request.isEmpty() )
|
||||||
urlQuery.addQueryItem( QStringLiteral( "REQUEST" ), request );
|
urlQuery.addQueryItem( QStringLiteral( "REQUEST" ), request );
|
||||||
url.setQuery( urlQuery );
|
url.setQuery( urlQuery );
|
||||||
return url;
|
return url;
|
||||||
|
@ -32,13 +32,6 @@
|
|||||||
class QgsWFSDataSourceURI
|
class QgsWFSDataSourceURI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! Http method for DCP URIs
|
|
||||||
enum Method
|
|
||||||
{
|
|
||||||
Get,
|
|
||||||
Post
|
|
||||||
};
|
|
||||||
|
|
||||||
explicit QgsWFSDataSourceURI( const QString &uri );
|
explicit QgsWFSDataSourceURI( const QString &uri );
|
||||||
|
|
||||||
//! Copy constructor
|
//! Copy constructor
|
||||||
@ -54,7 +47,7 @@ class QgsWFSDataSourceURI
|
|||||||
QUrl baseURL( bool bIncludeServiceWFS = true ) const;
|
QUrl baseURL( bool bIncludeServiceWFS = true ) const;
|
||||||
|
|
||||||
//! Returns request URL (with SERVICE=WFS parameter)
|
//! 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.
|
//! Gets WFS version. Can be auto, 1.0.0, 1.1.0 or 2.0.0.
|
||||||
QString version() const;
|
QString version() const;
|
||||||
|
@ -24,7 +24,7 @@ QgsWFSTransactionRequest::QgsWFSTransactionRequest( const QgsWFSDataSourceURI &u
|
|||||||
|
|
||||||
bool QgsWFSTransactionRequest::send( const QDomDocument &doc, QDomDocument &serverResponse )
|
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 );
|
QgsDebugMsgLevel( doc.toString(), 4 );
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user