diff --git a/src/server/qgspostrequesthandler.cpp b/src/server/qgspostrequesthandler.cpp index 38b50fe55af..3f44b4aa72b 100644 --- a/src/server/qgspostrequesthandler.cpp +++ b/src/server/qgspostrequesthandler.cpp @@ -33,6 +33,19 @@ void QgsPostRequestHandler::parseInput() QString inputString = readPostBody(); QgsDebugMsg( inputString ); + //Map parameter in QUERY_STRING? + const char* qs = getenv( "QUERY_STRING" ); + QMap getParameters; + QString queryString; + QString mapParameter; + if ( qs ) + { + queryString = QString( qs ); + requestStringToParameterMap( queryString, getParameters ); + mapParameter = getParameters.value( "MAP" ); + } + + QDomDocument doc; QString errorMsg; if ( !doc.setContent( inputString, true, &errorMsg ) ) @@ -64,4 +77,9 @@ void QgsPostRequestHandler::parseInput() mParameterMap.insert( "REQUEST", docElem.tagName() ); mParameterMap.insert( "REQUEST_BODY", inputString ); } + + if ( !mapParameter.isEmpty() && !mParameterMap.contains( "MAP" ) ) + { + mParameterMap.insert( "MAP", mapParameter ); + } }