Parameter 'outputs' from request object is not propagated to the manager execute_process and then to processor execute
francescoingv opened this issue · comments
In API.execute_process(),
the (optional) parameter 'outputs', if present in the request, is not passed on to BaseManager.execute_process() (or derived).
Even more, the parameter 'outputs' is not collected: only the parameter 'inputs' is collected.
To properly process a request the processor (i.e. "BaseProcessor" or derived) should get the requested outputs to know which outputs to produce.
I expect the manager (e.g. "BaseManager" or derived) to use this information, and also the property "transmitionMode" of each output, to prepare:
- body;
- headers (i.e. 'Location');
- content pointed by 'Location' in the headers.
In case of "transmissionMode": "reference", I am not sure if either the processor or the manager should prepare the reference (possibly writing to a file the single output).
As far as I understand, the reference is not expected to be served by the API, therefore only the processor can prepare it (possibly on a different endpoint).
If the reference could be server by the API, then the manager could be in charge of it.
I propose to add an additonal parameter (a dictionary with the content of outputs) to BaseManager.execute_process()
and the same additional parameter to BaseProcessor.execute()
Apologize, wrong place to report.