cloudflared/connection
João "Pisco" Fernandes 73a9980f38 TUN-9255: Improve flush on write conditions in http2 tunnel type to match what is done on the edge
## Summary
We have adapted our edge services to better know when they should flush on write. This is an important
feature to ensure response types like Server Side Events are not buffered, and instead are propagated to the eyeball
as soon as possible. This commit implements a similar logic for http2 tunnel protocol that we use in our edge
services. By adding the new events stream header for json `application/x-ndjson` and using the content-length
and transfer-encoding headers as well, following the RFC's:
- https://datatracker.ietf.org/doc/html/rfc7230#section-4.1
- https://datatracker.ietf.org/doc/html/rfc9112#section-6.1

Closes TUN-9255
2025-04-24 11:49:19 +00:00
..
connection_test.go TUN-9255: Improve flush on write conditions in http2 tunnel type to match what is done on the edge 2025-04-24 11:49:19 +00:00
connection.go TUN-9255: Improve flush on write conditions in http2 tunnel type to match what is done on the edge 2025-04-24 11:49:19 +00:00
control.go TUN-8728: implement diag/tunnel endpoint 2024-11-25 10:43:32 -08:00
errors.go chore: Remove h2mux code 2024-10-15 13:10:30 -07:00
event.go TUN-8728: implement diag/tunnel endpoint 2024-11-25 10:43:32 -08:00
header_test.go chore: Remove h2mux code 2024-10-15 13:10:30 -07:00
header.go TUN-8861: Add session limiter to TCP session manager 2025-01-20 10:53:53 +00:00
http2_test.go TUN-8861: Add session limiter to TCP session manager 2025-01-20 10:53:53 +00:00
http2.go TUN-8861: Rename Session Limiter to Flow Limiter 2025-01-20 06:33:40 -08:00
json.go TUN-3467: Serialize cf-cloudflared-response-meta during package initialization using jsoniter 2020-11-11 15:11:42 +00:00
metrics.go chore: Remove h2mux code 2024-10-15 13:10:30 -07:00
observer_test.go TUN-6583: Remove legacy --ui flag 2022-07-20 16:17:29 -07:00
observer.go TUN-8728: implement diag/tunnel endpoint 2024-11-25 10:43:32 -08:00
protocol_test.go TUN-6938: Force h2mux protocol to http2 for named tunnels 2023-02-06 11:06:02 -08:00
protocol.go TUN-8855: fix lint issues 2025-01-30 03:53:24 -08:00
quic_connection_test.go TUN-8904: Rename Connect Response Flow Rate Limited metadata 2025-01-22 07:23:46 -08:00
quic_connection.go TUN-8855: fix lint issues 2025-01-30 03:53:24 -08:00
quic_datagram_v2_test.go TUN-8861: Rename Session Limiter to Flow Limiter 2025-01-20 06:33:40 -08:00
quic_datagram_v2.go TUN-8861: Rename Session Limiter to Flow Limiter 2025-01-20 06:33:40 -08:00
quic_datagram_v3.go TUN-8640: Add ICMP support for datagram V3 2024-12-09 07:23:11 -08:00
quic.go TUN-8661: Refactor connection methods to support future different datagram muxing methods 2024-10-24 11:42:02 -07:00
tunnelsforha.go TUN-3471: Add structured log context to logs 2021-01-05 20:21:16 +00:00