From 5230680cdd89b955c33dec955b2ea3c43d47a18c Mon Sep 17 00:00:00 2001 From: Blottiere Paul Date: Thu, 7 Sep 2017 15:16:28 +0100 Subject: [PATCH] Fix OGC test getfeatureinfo:invalid-info_format --- src/server/services/wms/qgswmsparameters.cpp | 4 ++++ src/server/services/wms/qgswmsrenderer.cpp | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/server/services/wms/qgswmsparameters.cpp b/src/server/services/wms/qgswmsparameters.cpp index 9f02327c149..62f434f3503 100644 --- a/src/server/services/wms/qgswmsparameters.cpp +++ b/src/server/services/wms/qgswmsparameters.cpp @@ -1179,8 +1179,12 @@ namespace QgsWms f = Format::XML; else if ( fStr.startsWith( QLatin1String( "text/html" ), Qt::CaseInsensitive ) ) f = Format::HTML; + else if ( fStr.startsWith( QLatin1String( "text/plain" ), Qt::CaseInsensitive ) ) + f = Format::TEXT; else if ( fStr.startsWith( QLatin1String( "application/vnd.ogc.gml" ), Qt::CaseInsensitive ) ) f = Format::GML; + else + f = Format::NONE; return f; } diff --git a/src/server/services/wms/qgswmsrenderer.cpp b/src/server/services/wms/qgswmsrenderer.cpp index 2af2e50e15c..90be18a4f63 100644 --- a/src/server/services/wms/qgswmsrenderer.cpp +++ b/src/server/services/wms/qgswmsrenderer.cpp @@ -998,7 +998,13 @@ namespace QgsWms QByteArray ba; QgsWmsParameters::Format infoFormat = mWmsParameters.infoFormat(); - if ( infoFormat == QgsWmsParameters::Format::TEXT ) + + if ( infoFormat == QgsWmsParameters::Format::NONE ) + { + throw QgsBadRequestException( QStringLiteral( "InvalidFormat" ), + QStringLiteral( "Invalid INFO_FORMAT parameter" ) ); + } + else if ( infoFormat == QgsWmsParameters::Format::TEXT ) ba = convertFeatureInfoToText( result ); else if ( infoFormat == QgsWmsParameters::Format::HTML ) ba = convertFeatureInfoToHtml( result );