geopython / geopython/pygeoapi

How to return a reference for Processes results?

Open
#2,255 6 comments 0 reactions 1 assignee Claimed by @tomkralidis View on GitHub
OGC API - Processes
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.