QString serviceUrl( const QgsServerRequest &request, const QgsProject *project ) { QString href; if ( project ) { href = QgsServerProjectUtils::wmtsServiceUrl( *project ); } // Build default url if ( href.isEmpty() ) { QUrl url = request.originalUrl(); QgsWmtsParameters params; params.load( QUrlQuery( url ) ); params.remove( QgsServerParameter::REQUEST ); params.remove( QgsServerParameter::VERSION_SERVICE ); params.remove( QgsServerParameter::SERVICE ); url.setQuery( params.urlQuery() ); href = url.toString(); } return href; }
QString serviceUrl( const QgsServerRequest &request, const QgsProject *project ) { QUrl href; if ( project ) { href.setUrl( QgsServerProjectUtils::wfsServiceUrl( *project ) ); } // Build default url if ( href.isEmpty() ) { static QSet<QString> sFilter { QStringLiteral( "REQUEST" ), QStringLiteral( "VERSION" ), QStringLiteral( "SERVICE" ), }; href = request.originalUrl(); QUrlQuery q( href ); for ( auto param : q.queryItems() ) { if ( sFilter.contains( param.first.toUpper() ) ) q.removeAllQueryItems( param.first ); } href.setQuery( q ); } return href.toString(); }