This feature improves feedback/cancel management during the map rendering to handle when
the client closes the in/out socket. This can occur when the client (an http server as
nginx) has a timeout shorter than the rendering time (fe. the rendering is very long due
database issue). Without this feature, the http server may resent new requests to the qgis
server which is busy and can not handle it.
For each new FCGI request, we start a new thread to monitor the incoming socket stream and
detect its closing. If the socket closes before the rendering, we update a feedback object
to cancel the rendering jobs. When the rendering is done, the thread is closed.
In most cases of use of QGIS Server, it is not necessary to access the layers in write mode.
The read-only mode is sufficient.
We would like to introduce a new flag Qgis::ProjectReadFlag::ForceLayerReadOnly to
open layers in a read-only mode.
This new feature allows to specify extra tokens allowed for
WMS FILTER definition.
The current list of accepted tokens is rather small and
this setting will allow the sysadmins to enlarge the list
of allowed tokens.
keyword in Python, so this value was previously inaccessible to PyQGIS
scripts
Also change all references to Qgis::MessageLevel values to their
fully qualified names, to ease a future transition to an enum
class (when sip bugs are fixed)
Fixes#42996
The goals are:
* To have better result in the GetCapabilities URL without having to fill it in the Project configuration
* Be able to be set by an integrator with environment variable or by providing headers from a proxy
The server resolution will use the following order:
- Value defined in the project per service.
- The ``<service>_SERVICE_URL`` environment variable.
- The ``SERVICE_URL`` environment variable.
- The custom ``X-Qgis-<service>-Servcie-Url`` header.
- The custom ``X-Qgis-Service-Url`` header.
- Build form the standard ``Forwarded`` header.
- Build form the pseudo standard ``X-Forwarded-Host`` and ``X-Forwarded-Proto`` headers.
- Build form the standard ``Host`` header and the server protocol.
- Build form the server name and the server protocol.