Re: Structured Fields: strict error handling (#2399)

On 27.02.2023 14:28, Poul-Henning Kamp wrote:
> --------
> Julian Reschke writes:
>
>>   > If parsing fails -- including when calling another algorithm -- the
>> entire field value MUST be ignored (i.e., treated as if the field were
>> not present in the section), or alternatively the complete HTTP message
>> MUST be treated as malformed. This is intentionally strict, to improve
>> interoperability and safety, and specifications referencing this
>> document are not allowed to loosen this requirement.
>
> Works for me.
>
> Although I still question the performative power of "not allowed to"
> vs. a real SHALL NOT ?

I guess that's a question of whether we want to reserve BCP14 keywords
on actual protocol requirements as opposed to rules for other specs (and
yes, there's a grey area here).

> If we adopt this form, it should be up front in 1.1 where we talk
> about strictness.
>
> Nitpicking:
>
>  "-- including when calling another algorithm -- "

My reading is that this refers to the other "modules" of this algorithm,
but yes, maybe that can be misinterpreted.

> seems a confusing way to needlessly repeat what 1.1 says more clearly:
>
>     This specification intentionally defines strict parsing and
>     serialization behaviors using step-by-step algorithms; the only error
>     handling defined is to fail the operation altogether.
>
> And inserting "entire" before "operation" would make that even clearer.

+1

Best regards, Julian

Received on Monday, 27 February 2023 13:53:59 UTC