feat(protocol): validate GET and POST request options - #48
Conversation
1624ee0 to
f32daad
Compare
f32daad to
16e4608
Compare
|
I have not reviewed this yet, and the three of them have sat longer than they should have. Here is where it stands. #51 and #47 are merged. #56 now holds the order for everything left, because #36, #48, #49, #50 and #54 all collide in Two practical notes. This one and #49 and #50 still carry The part I will look at hardest when I do review it is keeping extension options on every token-stable Block2 continuation request. Token-stable Block2 is where this codebase has historically got things wrong. |
16e4608 to
7a531d6
Compare
Summary
post()while preserving the existingget()query contractextra_optionsto GET and POST for ordered OCF extension optionsWhy
Higher-level consumers need query-qualified resources and a narrow way to carry OCF extension options without constructing request datagrams themselves. The Home Assistant integration I use with local Samsung appliances needs this for OCF content-version and routing options, including across Block2 continuation requests.
This is the first PY-09 request-completeness slice. DELETE remains separate so it can reuse this validation contract, and Block1 remains transport-owned in the later stack. Response interpretation, Observe relations, ownership transactions, and device policy are unchanged.
Current base
This branch is rebuilt directly on current
mainatd4d3e12. It uses the shared GET request/response path from #36 and #58, and adds options to the existing #54 POST attempt loop without replacing its pacing, liveness, MID, or retry behavior. The already-merged #51 pacing commit and its tests are no longer part of this branch.The request-option commit is
7a531d6.Stack / merge order
#51, #36, #54, #57, #58, #61, #62, and #64 are already on
main. Merge #48 first.Validation
b5e25d7against this exact source tree