Some cleanups in server
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -81,7 +81,6 @@ QgsServer::QgsServer( bool captureOutput ) | ||
} | ||
sCaptureOutput = captureOutput; | ||
init(); | ||
saveEnvVars(); | ||
} | ||
|
||
|
||
@@ -179,9 +178,9 @@ QFileInfo QgsServer::defaultProjectFile() | ||
* @param parameterMap | ||
* @param logLevel | ||
*/ | ||
void QgsServer::printRequestParameters( const QMap< QString, QString>& parameterMap, int logLevel ) | ||
void QgsServer::printRequestParameters( const QMap< QString, QString>& parameterMap, QgsMessageLog::MessageLevel logLevel ) | ||
{ | ||
if ( logLevel > 0 ) | ||
if ( logLevel > QgsMessageLog::INFO ) | ||
{ | ||
return; | ||
} | ||
@@ -241,38 +240,6 @@ void QgsServer::printRequestInfos() | ||
} | ||
} | ||
|
||
void QgsServer::dummyMessageHandler( QtMsgType type, const char *msg ) | ||
{ | ||
#if 0 //def QGSMSDEBUG | ||
QString output; | ||
|
||
switch ( type ) | ||
{ | ||
case QtDebugMsg: | ||
output += "Debug: "; | ||
break; | ||
case QtCriticalMsg: | ||
output += "Critical: "; | ||
break; | ||
case QtWarningMsg: | ||
output += "Warning: "; | ||
break; | ||
case QtFatalMsg: | ||
output += "Fatal: "; | ||
} | ||
|
||
output += msg; | ||
|
||
QgsLogger::logMessageToFile( output ); | ||
|
||
if ( type == QtFatalMsg ) | ||
abort(); | ||
#else | ||
Q_UNUSED( type ); | ||
Q_UNUSED( msg ); | ||
#endif | ||
} | ||
|
||
/** | ||
* @brief QgsServer::configPath | ||
* @param defaultConfigPath | ||
@@ -317,10 +284,6 @@ bool QgsServer::init( ) | ||
|
||
QgsServerLogger::instance(); | ||
|
||
#ifndef _MSC_VER | ||
qInstallMsgHandler( dummyMessageHandler ); | ||
#endif | ||
|
||
QString optionsPath = getenv( "QGIS_OPTIONS_PATH" ); | ||
if ( !optionsPath.isEmpty() ) | ||
{ | ||
@@ -420,27 +383,20 @@ void QgsServer::putenv( const QString &var, const QString &val ) | ||
*/ | ||
QPair<QByteArray, QByteArray> QgsServer::handleRequest( const QString& queryString ) | ||
{ | ||
//apply environment variables | ||
QHash< QString, QString >::const_iterator envIt = mEnvironmentVariables.constBegin(); | ||
for ( ; envIt != mEnvironmentVariables.constEnd(); ++envIt ) | ||
{ | ||
putenv( envIt.key(), envIt.value() ); | ||
} | ||
|
||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
mhugo
|
||
/* | ||
* This is mainly for python bindings, passing QUERY_STRING | ||
* to handleRequest without using os.environment | ||
*/ | ||
if ( ! queryString.isEmpty() ) | ||
putenv( QStringLiteral( "QUERY_STRING" ), queryString ); | ||
|
||
int logLevel = QgsServerLogger::instance()->logLevel(); | ||
QgsMessageLog::MessageLevel logLevel = QgsServerLogger::instance()->logLevel(); | ||
QTime time; //used for measuring request time if loglevel < 1 | ||
QgsProject::instance()->removeAllMapLayers(); | ||
|
||
qApp->processEvents(); | ||
|
||
if ( logLevel < 1 ) | ||
if ( logLevel == QgsMessageLog::INFO ) | ||
{ | ||
time.start(); | ||
printRequestInfos(); | ||
@@ -614,7 +570,7 @@ QPair<QByteArray, QByteArray> QgsServer::handleRequest( const QString& queryStri | ||
|
||
theRequestHandler->sendResponse(); | ||
|
||
if ( logLevel < 1 ) | ||
if ( logLevel == QgsMessageLog::INFO ) | ||
{ | ||
QgsMessageLog::logMessage( "Request finished in " + QString::number( time.elapsed() ) + " ms", QStringLiteral( "Server" ), QgsMessageLog::INFO ); | ||
} | ||
@@ -637,28 +593,3 @@ void QgsServer::initPython() | ||
} | ||
#endif | ||
|
||
#if 0 | ||
// The following code was used to test type conversion in python bindings | ||
QPair<QByteArray, QByteArray> QgsServer::testQPair( QPair<QByteArray, QByteArray> pair ) | ||
{ | ||
return pair; | ||
} | ||
#endif | ||
|
||
void QgsServer::saveEnvVars() | ||
{ | ||
saveEnvVar( QStringLiteral( "MAX_CACHE_LAYERS" ) ); | ||
saveEnvVar( QStringLiteral( "DEFAULT_DATUM_TRANSFORM" ) ); | ||
} | ||
|
||
void QgsServer::saveEnvVar( const QString& variableName ) | ||
{ | ||
const char* env = getenv( variableName.toLocal8Bit() ); | ||
if ( !env ) | ||
{ | ||
return; | ||
} | ||
|
||
mEnvironmentVariables.insert( variableName, QString::fromLocal8Bit( env ) ); | ||
} | ||
|
Removing this, scares me a bit, I can't remember why but I think this was necessary, a sort of way to pass env vars to the services.
BTW, there might be a better way, for example storing the env into
mEnvironmentVariables
and make it available in theQgsServerInterface
so that plugins and services can use them.