Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Take2
  • Loading branch information
elpaso committed Mar 5, 2021
1 parent c3d9881 commit b8142f6
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/server/qgis_mapserver.cpp
Expand Up @@ -206,7 +206,6 @@ class HttpHandlerWorker: public QThread

if ( ! clientConnection->bytesAvailable() )
{
qApp->processEvents();
continue;
}

Expand Down Expand Up @@ -379,8 +378,20 @@ void responseHandler( Request *requestPtr )
const auto &response { request->response };
const auto &clientConnection { request->clientConnection };

if ( clientConnection->state() != QAbstractSocket::SocketState::ConnectedState )
{
std::cout << QStringLiteral( "Connection reset by peer" ).toStdString() << std::endl;
clientConnection->deleteLater();
return;
}

// Output stream
clientConnection->write( QStringLiteral( "HTTP/1.0 %1 %2\r\n" ).arg( response.statusCode() ).arg( knownStatuses.value( response.statusCode(), QStringLiteral( "Unknown response code" ) ) ).toUtf8() );
if ( clientConnection->write( QStringLiteral( "HTTP/1.0 %1 %2\r\n" ).arg( response.statusCode() ).arg( knownStatuses.value( response.statusCode(), QStringLiteral( "Unknown response code" ) ) ).toUtf8() ) < 0 )
{
std::cout << QStringLiteral( "Cannot write to output socket" ).toStdString() << std::endl;
clientConnection->deleteLater();
return;
}
clientConnection->write( QStringLiteral( "Server: QGIS\r\n" ).toUtf8() );
const auto responseHeaders { response.headers() };
for ( auto it = responseHeaders.constBegin(); it != responseHeaders.constEnd(); ++it )
Expand Down Expand Up @@ -560,7 +571,7 @@ int main( int argc, char *argv[] )
REQUEST_QUEUE_MUTEX.unlock();
} );

serverWorker.connect( &serverWorker, &ServerWorker::responseReady, &responseHandler );
serverWorker.connect( &serverWorker, &ServerWorker::responseReady, QThread::currentThread(), responseHandler );
// Exit handlers
#ifndef Q_OS_WIN

Expand Down

0 comments on commit b8142f6

Please sign in to comment.