OAI / OpenAPI-Specification

The OpenAPI Specification Repository
https://openapis.org
Apache License 2.0
28.95k stars 9.07k forks source link

Support for structured-headers de/serialization #1980

Open ioggstream opened 5 years ago

ioggstream commented 5 years ago

I expect

A way to express structured-fields serialization rfc8941

Here are some examples:

Example-IntegerHeader: 42
Example-BoolHdr: ?1
Example-StringHeader: "hello world"
Example-BinaryHdr: :cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:
Example-StrListHeader: "foo", "bar", "It was the best of times."
Example-DictHeader: en="Applepie", da=*w4ZibGV0w6ZydGU=*

Note

In the near future, all http headers will probably be de/serialized using structured-header specs.

handrews commented 4 years ago

@ioggstream JSON Schema is defined over a data model, so as long as the structured header format can be unambiguously parsed into that data model, it would make sense to just use JSON Schema for that.

@darrelmiller @webron is this something we should note or clarify for 3.0.3 and/or 3.1? I'm going to flag this under #2099 even though its pretty tangential to the JSON Schema draft update. It is related to JSON Schema stuff that we have tried to make more explicit in recent drafts.

ioggstream commented 4 years ago

Can define structured-headers as an alternative schema help?

darrelmiller commented 4 years ago

It might be worth introducing a new style value called structured-header or something like that in the future. The Schema object can describe the header value content and the style will clarify how it should be serialized. I am still not seeing very many uses of structured headers so I don't think there is an urgency. It is worth considering for 3.2.

ioggstream commented 4 years ago

structured-headers is still WIP, so 3.2 is fine.

OTOH it could be interesting some feedback from the OAS community to https://github.com/httpwg/http-extensions/blob/master/draft-ietf-httpbis-header-structure.md

Budda0ne commented 3 years ago

I expect

A way to express structured-headers serialization

Here are some examples:


Example-IntegerHeader: 42

Example-BoolHdr: ?1

Example-StringHeader: "hello world"

Example-BinaryHdr: :cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:

Example-StrListHeader: "foo", "bar", "It was the best of times."

Example-DictHeader: en="Applepie", da=*w4ZibGV0w6ZydGU=*

Note

In the near future, all http headers will probably be de/serialized using structured-header specs.

ioggstream commented 3 years ago

Structured fields is now RFC 8941