BUG/MINOR: h3: handle empty HEADERS frame as specified
This patch ensures empty HEADERS frame are treated as expected by
rfc9114.
In some conditions, such frame is invalid and the stream is closed with
FRAME_UNEXPECTED h3 error. This is the case if this is the first frame
interpreted as header as it lacks mandatory pseudo-headers. This is also
the case if trailers were already received, but this case is already
handled by a previous patch.
The only condition in which an empty HEADERS frame may be valid is when
it is interpreted as trailers. QUIC FIN may be signalled in the same
occasion, thus h3_trailers_to_htx() has been extended to add a call to
htx_set_eom() to report the stream closure to the upper layer.
This is considered minor as it's doubtful that any H3 client will use an
empty HEADERS frame.