Skip to content

Inline binary input: always encoded base-64 ? #587

Description

@francescoingv

I am reading the current Draft version 2.0 of the specification.

In the Abstract:
The requirements specified in the OGC API — Processes Standard build on the OGC Web Processing Service (WPS) 2.0 Standard and specify a processing interface to communicate over a RESTful protocol using JSON encodings.

Then the input is expected to be passed using JSON encoding.

Before Listing 16:
In some cases, for example to pass through firewalls, binary input values need to be encoded in-line in an execute request as a string.

From the above I do infer that there are cases where binary input values don't need to be encoded in-line.
I wonder if it is correct.

From requirement 24:
The service SHALL support binary values encoded as base64-encoded strings.

However it says nothing about possibly supporting alternative encoding for inline binary input.
And I find no way the client can know of alternative accepted encoding when "contentEncoding": "binary" (e.g. Example 4).

Personally I understand there should not be alternatives to encoding base64 the in-line values defined as "type": "string", "contentEncoding": "binary".
Differently the client should be able to know about it.

I expect the specification "type": "string", "contentEncoding": "binary" is applicable only where values are passed by reference,
and it should apply to the referenced resource (e.g. a binary "image/tiff" file pointed by an URL),
but I find it hard to find such an information.
Even more: I would expect the content of a reference URL for a "binary" value passed as reference is not encoded (or SHALL NOT be encoded).

However, strictly reading requirement 26 - B, it would result in expecting the content of a binary value specified as a reference to be encoded base64.
Should be the binary value an exception?

Could you please help?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status
To be drafted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions