Skip to content

Commit

Permalink
The capabilities request is managed in parameters class
Browse files Browse the repository at this point in the history
  • Loading branch information
pblottiere committed Mar 9, 2021
1 parent c3a4994 commit f82fec3
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 6 deletions.
2 changes: 1 addition & 1 deletion python/server/auto_generated/qgsserverparameters.sip.in
Expand Up @@ -324,7 +324,7 @@ defined.
:return: service
%End

QString request() const;
virtual QString request() const;
%Docstring
Returns REQUEST parameter as a string or an empty string if not
defined.
Expand Down
2 changes: 1 addition & 1 deletion src/server/qgsserverparameters.h
Expand Up @@ -302,7 +302,7 @@ class SERVER_EXPORT QgsServerParameters
* defined.
* \returns request
*/
QString request() const;
virtual QString request() const;

/**
* Returns MAP parameter as a string or an empty string if not
Expand Down
4 changes: 1 addition & 3 deletions src/server/services/wms/qgswms.cpp
Expand Up @@ -99,9 +99,7 @@ namespace QgsWms
QStringLiteral( "Please add or check the value of the REQUEST parameter" ), 501 );
}

if ( ( mVersion.compare( QLatin1String( "1.1.1" ) ) == 0 \
&& QSTR_COMPARE( req, "capabilities" ) )
|| QSTR_COMPARE( req, "GetCapabilities" ) )
if ( QSTR_COMPARE( req, "GetCapabilities" ) )
{
writeGetCapabilities( mServerIface, project, version, request, response, false );
}
Expand Down
15 changes: 14 additions & 1 deletion src/server/services/wms/qgswmsparameters.cpp
Expand Up @@ -757,7 +757,7 @@ namespace QgsWms
{
QString version = QgsServerParameters::version();

if ( request().compare( QLatin1String( "GetProjectSettings" ), Qt::CaseInsensitive ) == 0 )
if ( QgsServerParameters::request().compare( QLatin1String( "GetProjectSettings" ), Qt::CaseInsensitive ) == 0 )
{
version = QStringLiteral( "1.3.0" );
}
Expand Down Expand Up @@ -790,6 +790,19 @@ namespace QgsWms
return version;
}

QString QgsWmsParameters::request() const
{
QString req = QgsServerParameters::request();

if ( version().compare( QLatin1String( "1.1.1" ) ) == 0
&& req.compare( QLatin1String( "capabilities" ), Qt::CaseInsensitive ) == 0 )
{
req = QStringLiteral( "GetCapabilities" );
}

return req;
}

QgsProjectVersion QgsWmsParameters::versionAsNumber() const
{
return QgsProjectVersion( version() );
Expand Down
2 changes: 2 additions & 0 deletions src/server/services/wms/qgswmsparameters.h
Expand Up @@ -1329,6 +1329,8 @@ namespace QgsWms

QString version() const override;

QString request() const override;

private:
static bool isExternalLayer( const QString &name );

Expand Down

0 comments on commit f82fec3

Please sign in to comment.