internal/http3: do not treat 1xx status as the final response status

TestServer1xxExpect100ContinueRace is flaky for HTTP/3 in std. This is
because duplicate status 100 can cause the HTTP/3 transport to
accidentally treat 100 as the final response status.

Make sure that 1xx headers are always treated as informational status
rather than the final status.

For golang/go#70914
For golang/go#81119

Change-Id: Id834c403ae565ed00aa03ac89f69b7286a6a6964
Reviewed-on: https://go-review.googlesource.com/c/net/+/822544
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Nicholas Husin <husin@google.com>
2 files changed
tree: 2ab25aff83c9e33d9c29b797fc1b9a199f2c18cf
  1. bpf/
  2. context/
  3. dict/
  4. dns/
  5. html/
  6. http/
  7. http2/
  8. http3/
  9. icmp/
  10. idna/
  11. internal/
  12. ipv4/
  13. ipv6/
  14. lif/
  15. nettest/
  16. netutil/
  17. proxy/
  18. publicsuffix/
  19. quic/
  20. route/
  21. trace/
  22. webdav/
  23. websocket/
  24. xsrftoken/
  25. .gitattributes
  26. .gitignore
  27. codereview.cfg
  28. CONTRIBUTING.md
  29. go.mod
  30. go.sum
  31. LICENSE
  32. PATENTS
  33. README.md
README.md

Go Networking

Go Reference

This repository holds supplementary Go networking packages.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The git repository is https://go.googlesource.com/net.

The main issue tracker for the net repository is located at https://go.dev/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.