Igor Postelnik
da4d0b2bae
TUN-4067: Reformat code for consistent import order, grouping, and fix formatting. Added goimports target to the Makefile to make this easier in the future.
2021-03-24 10:53:29 -05:00
Nuno Diegues
89b738f8fa
TUN-4026: Fix regression where HTTP2 edge transport was no longer propagating control plane errors
2021-03-04 18:45:39 +00:00
cthuang
3b93914612
TUN-3764: Actively flush data for TCP streams
2021-02-23 14:19:47 +00:00
Sudarsan Reddy
368066a966
TUN-3615: added support to proxy tcp streams
...
added ingress.DefaultStreamHandler and a basic test for tcp stream proxy
moved websocket.Stream to ingress
cloudflared no longer picks tcpstream host from header
2021-02-23 14:19:47 +00:00
cthuang
e2262085e5
TUN-3617: Separate service from client, and implement different client for http vs. tcp origins
...
- extracted ResponseWriter from proxyConnection
- added bastion tests over websocket
- removed HTTPResp()
- added some docstrings
- Renamed some ingress clients as proxies
- renamed instances of client to proxy in connection and origin
- Stream no longer takes a context and logger.Service
2021-02-23 14:19:44 +00:00
Igor Postelnik
cf562ef8c8
TUN-3635: Send event when unregistering tunnel for gracful shutdown so /ready endpoint reports down status befoe connections finish handling pending requests.
2021-02-08 15:38:42 +00:00
Igor Postelnik
0b16a473da
TUN-3869: Improve reliability of graceful shutdown.
...
- Don't rely on edge to close connection on graceful shutdown in h2mux, start muxer shutdown from cloudflared.
- Don't retry failed connections after graceful shutdown has started.
- After graceful shutdown channel is closed we stop waiting for retry timer and don't try to restart tunnel loop.
- Use readonly channel for graceful shutdown in functions that only consume the signal
2021-02-08 14:30:32 +00:00
Igor Postelnik
a945518404
TUN-3811: Better error reporting on http2 connection termination. Registration errors from control loop are now propagated out of the connection server code. Unified error handling between h2mux and http2 connections so we log and retry errors the same way, regardless of underlying transport.
2021-01-28 10:38:30 -06:00
Igor Postelnik
d503aeaf77
TUN-3118: Changed graceful shutdown to immediately unregister tunnel from the edge, keep the connection open until the edge drops it or grace period expires
2021-01-22 11:14:36 -06:00
Areg Harutyunyan
55bf904689
TUN-3471: Add structured log context to logs
2021-01-05 20:21:16 +00:00
Areg Harutyunyan
870f5fa907
TUN-3470: Replace in-house logger calls with zerolog
2020-12-23 14:15:17 -06:00
cthuang
fdb1f961b3
TUN-3557: Detect SSE if content-type starts with text/event-stream
2020-11-18 15:59:41 +00:00
cthuang
543169c893
TUN-3490: Make sure OriginClient implementation doesn't write after Proxy return
2020-11-11 15:21:00 +00:00
cthuang
d5769519b2
TUN-3489: Add unit tests to cover proxy logic in connection package of cloudflared
2020-11-11 15:21:00 +00:00
cthuang
5974fb4cfd
TUN-3500: Integrate replace h2mux by http2 work with multiple origin support
2020-11-11 15:20:57 +00:00
cthuang
eef5b78eac
TUN-3480: Support SSE with http2 connection, and add SSE handler to hello-world server
2020-11-11 15:12:17 +00:00
cthuang
a490443630
TUN-3458: Upgrade to http2 when available, fallback to h2mux when we reach max retries
2020-11-11 15:11:42 +00:00
cthuang
6886e5f90a
TUN-3467: Serialize cf-cloudflared-response-meta during package initialization using jsoniter
2020-11-11 15:11:42 +00:00
cthuang
9ac40dcf04
TUN-3462: Refactor cloudflared to separate origin from connection
2020-11-11 15:11:42 +00:00