355 Commits

Author SHA1 Message Date
Julien Cabieces
3e27ac5985 [PyQt6] Build PyQt6 2024-01-16 12:18:11 +10:00
tomass
1180128b72 Option to skip name attribute for groups in wms capabilities document 2023-11-15 19:17:17 +02:00
bdm-oslandia
a9321b5de2 fix(server): expose QgsServerResponse::feedback() to the python api 2023-11-10 09:15:04 +01:00
bdm-oslandia
d9b4b3b4f5 feat(server): add closed socket detection to FGCI server
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.
2023-11-10 09:15:04 +01:00
Nyall Dawson
95dc22f6b5 Fix handling of ' in enum docstrings in sipify 2023-07-09 22:48:59 +10:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Juergen E. Fischer
715f043d8b server: make capabilities cache size configurable and add a note when all slots are taken 2023-03-29 15:56:07 +02:00
Blottiere Paul
5d78bbe998 Returns a list of project 2023-01-24 09:05:33 +01:00
Blottiere Paul
44b8ed25ab Expose list of projects in cache to Python 2023-01-24 09:05:33 +01:00
rldhont
bcd3febef8 [Server] Defined QGIS_SERVER_APPLICATION_NAME variable
The QGIS_SERVER_APPLICATION_NAME variable can be used instead of QGIS_APPLICATION_FULL_NAME.
2023-01-16 12:05:45 +01:00
Harrissou Sant-anna
79bd12c207 Fix typos in QGIS Server service_url docs 2022-12-09 13:24:37 +10:00
mhugent
a3d44fece2
Merge pull request #50094 from mhugent/get_legend_graphic_groups
WMS server: Get legend graphic groups
2022-11-03 16:32:42 +01:00
Damiano Lombardi
a4ae707ff6 Add bbox-crs parameter to the request (if not default CRS84) 2022-10-25 16:03:49 +02:00
David Marteau
22cbbf7239
Fix unwanted side effect with QgsAccessControl filter cache
Prevent leaking access control cache filter between
    requests.
2022-10-12 16:42:16 +02:00
Marco Hugentobler
6373766780 Add project option WMSAddLayerGroupsLegendGraphic 2022-09-29 15:25:05 +02:00
Alessandro Pasotti
4ec664a40b Typo 2022-09-15 10:11:30 +02:00
Alessandro Pasotti
904a120282 Hide real name string args from schema and messages 2022-09-15 09:58:08 +02:00
Alessandro Pasotti
e747ffede0 Server OAPIF: be good and accept both aliased and real field names ...
... when filtering and sorting, but only output aliased field names.

Fixes #49399
2022-09-14 19:51:54 +02:00
rldhont
0fc64b101a feat: Open layers in a read only mode with Qgis::ProjectReadFlag::ForceLayerReadOnly
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.
2022-09-12 09:17:02 +10:00
pathmapper
d6cd505895 Add custom template function "starts_with" for OGC API Features 2022-09-09 10:51:09 +10:00
Alessandro Pasotti
751deda160
Merge pull request #50127 from elpaso/server-sql-extra-allowed-tokens
Server: add QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS settings var
2022-09-08 12:12:50 +02:00
pathmapper
0b79e45406 Update API docs
Custom teplate function nl2br( text ) was missing
Adjust formatting
2022-09-07 19:11:26 +02:00
Alessandro Pasotti
65baa23f0e Typos 2022-09-07 16:40:43 +02:00
Alessandro Pasotti
2beed8345c Server: add QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS settings var
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.
2022-09-07 16:40:43 +02:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
David Marteau
12111098c2
Implements alternate project's cache strategies
- FileSystem cache strategy
    - Periodic cache strategy
    - Null cache strategy
2022-03-09 10:12:40 +01:00
Blottiere Paul
602391eea1 Add doc and update binding 2022-02-02 16:51:42 +01:00
Blottiere Paul
9bdbe12f8c Binding 2022-02-02 16:51:42 +01:00
Stéphane Brunner
a5a27207a0 Use QMetaEnum 2022-01-06 15:34:34 +01:00
Sandro Mani
18d598ba4a Set release_gil = True when generating bindings 2021-11-04 08:51:00 +11:00
Alessandro Pasotti
dc3e9ebad0
Merge pull request #45158 from dmarteau/fix-server-filter-streaming
[server] Allow better control of the response flow chain from server filters.
2021-11-03 13:43:54 +01:00
Alessandro Pasotti
c2b15d89e3 Bah :/ 2021-10-29 15:39:52 +02:00
Alessandro Pasotti
375bf6d3ad Expose QgsServerFeatureId to Python
the namespace contains some vital functions for web applications
that want to use the QgsServer API.
2021-10-29 15:35:40 +02:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
Alessandro Pasotti
8ba18051e4 Fix landing page after d61df93315e
Handle the messy initial / by making sure the
paths matches are evaluated against a sanitized
URL that always starts with a /
2021-10-08 12:57:59 +02:00
Alessandro Pasotti
2b1a1c1986 Server OGC API handler: make it more robust in path matching 2021-10-08 11:17:48 +02:00
David Marteau
bbb8e8f329
[server] Allow filters to control streamed response 2021-09-24 11:28:41 +02:00
Sandro Mani
6fd34ca92b Add sip5/sip6 sip-build support 2021-09-24 08:56:40 +10:00
David Marteau
ee6acb0ca2
Refactorize server properties 2021-09-16 14:10:07 +02:00
Nyall Dawson
711a615be3 Fix raises sphinx format 2021-06-25 10:50:04 +10:00
Nyall Dawson
4ff3f447dc Don't try to insert links in raises blocks in PyQGIS docs
These aren't formatted correctly if we do
2021-06-10 11:03:43 +10:00
Nyall Dawson
02266ef8e6 Rename Qgis::MessageLevel::None to NoLevel. None is a reserved
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
2021-05-30 10:36:01 +10:00
Denis Rouzaud
35c557a234 run sipify 2021-05-26 14:30:54 +02:00
Alessandro Pasotti
7ae1b31873
Merge pull request #43104 from elpaso/server-landingpage-custom-prefix
Server landingpage custom prefix
2021-05-17 18:35:00 +02:00
Nyall Dawson
eaf70803b0
Cleanup auto generated sip files and remove orphaned files (#43240) 2021-05-17 08:09:27 +02:00
Alessandro Pasotti
497197e316 Updated js 2021-05-06 14:55:30 +02:00
Stéphane Brunner
3202e3ac70 [Server][Feature][needs-docs] Make service URL configurable
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.
2021-04-15 09:24:41 +02:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00