Skip to content

sfbis: Allow parameters values to also be bare array of Items #2732

@CxRes

Description

@CxRes

Since I have already started to irk folks on the current sfbis-05 draft, I thought I might as well take the opportunity to do a proper job of it.

I would very much like to see the parameter value not just be restricted to "bare Items", but allow "bare items or bare array of Items". That is, the array is itself not parameterized, just like items, but its contents still would be. This would allow one to indefinitely nest parameters.

I have tried to follow the discussion in the issue tracker (and even commented recently at one place), but with all the historical anachronism being discussed in the threads, I cannot ascertain if this was even considered, or considered and rejected. AFAICT, the fields will still be uniquely parsable by virtue of each =( needing to be closed by a corresponding ).

I have an immediate use case for this in PREP, where I repurpose existing HTTP fields as parameters of the protocol, with the same semantics as the headers, to negotiate the content of notifications. This saves me from having to define new parameters for the protocol or even new fields, leading to a simpler specification.

To illustrate this, consider the following header that would be made possible:

Accept-Events: "prep"; accept=(application/ld+json text/turtle;q=0.9)

In another case (to be released very soon), I need to literally serialize an array:

Accept-Events: "solid"; channel-type="WebSockets2023"; features=(rate endAt)

My reading of the spec tells me that such parameterization is not possible to achieve right now (correct me if I am wrong!). I could hack my way using strings, but apart from being non-standard, that will still limit the nesting.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions