Marten Seemann
Marten Seemann
Thank you for debugging this @uniquefine! Can you check if #4645 fixes your problem?
RFC 9113 doesn't apply to HTTP/3, does it?
> It may seem obvious, but we should also throw an error if we are running as a client and these headers are passed to the request. That only works...
What do you mean? We can do stream resets, but that doesn't help communicate to the server that it's doing something wrong.
Sure, that's what we should do. I thought you want to return an error to HTTP users when they _write_ (and not only when they receive) the invalid values, but...
Turns out we already have logic to skip these headers: https://github.com/quic-go/quic-go/blob/1a25053e5eb59d53eca46bbc726e5935b7ce2f3c/http3/request_writer.go#L147-L154 This is in code that we copied from the standard library, which is probably why I didn't remember that...
Note that this logic only applies for requests, not for responses.
It just means we can't remove the lines I'm removing here in this PR. I'll update it.
It's in [fd04f71](https://github.com/quic-go/quic-go/pull/4648/commits/fd04f710d7a1768012e2ca327f1609bc3e3787b3). It's kind of ugly.
> It's in [fd04f71](https://github.com/quic-go/quic-go/pull/4648/commits/fd04f710d7a1768012e2ca327f1609bc3e3787b3). It's kind of ugly. This commit was slightly wrong, I messed up inverting the boolean expression. It's still not pretty, but it's not worse than what...