geopython / geopython/pygeoapi
How to return a reference for Processes results?
- Dominant language
- Python
- Stars
- 624
- Forks
- 326
- Avg merge
- 8h 25m
- Merged PRs (30d)
- 2
Description
I am trying to offer a process having the capability of `outputTransmission` = `reference`
I am focused on:
- `execution-mode` = `async`
- `response` = `raw`
- all outputs requested with `"transmissionMode": "reference"`
According to Table 11 and Requirement 30 of the standard:
- the **body** will be **empty**
- the returned **status** will be **204**
- the **media type** will be **none**
- there will be **one or more Link headers** that reference each requested output
My understanding in pygeoapi architecture is that the Processor offering `outputTransmission` = `reference` will make the resource(s), one per requested output, and the client will be able to access that resource(s) at the provided link(s).
The URL where the Processor will make the resource(s) available is out of the scope of the standard, is not part of pygeoapi, and **it is the sole responsibility of the Processor** to make them, and **only the Processor knows them**.
In the case I am focusing on (i.e. `execution-mode` = `async`, `response` = `raw`, all outputs with `"transmissionMode": "reference"`)
I understand the result of the `Processor.execute()` will be:
- `mime_type = none`
- `outputs = ""` (or none?)
- `status = 204`
From this result the `Manager` cannot add to the `response_headers` the **Link headers** that reference each requested output.
Please can someone address me if I am missing something.
If not, I would like `Processor.execute()` may also return the **Link headers** required in this case.
Also, I didn't find in the standard what attributes the link header should have.
Specifically what attribute should contain the output identifier for each header? Any other attribute required?
May I ask if there is an example?
Thank you
Contributor guide
Assessment
This issue has not been assessed yet.