Christopher Swenson
4a5cde0afb
Forward websocket event subscription requests ( #22446 )
...
For now, only the leader of a cluster can handle subscription requests,
so we forward the connection request otherwise.
We forward using a 307 temporary redirect (the fallback way).
Forwarding a request over gRPC currently only supports a single request
and response, but a websocket connection is long-lived with potentially
many messages back and forth.
We modified the `vault events subscribe` command to honor those
redirects. `wscat` supports them with the `-L` flag.
In the future, we may add a gRPC method to handle forwarding WebSocket
requests, but doing so adds quite a bit of complexity (even over
normal request forwarding) due to the intricate nature of the `http` /
`vault.Core` interactions required. (I initially went down this path.)
I added tests for the forwarding header, and also tested manually.
(Testing with `-dev-three-node` is a little clumsy since it does not
properly support experiments, for some reason.)
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
2023-08-22 14:33:31 -07:00
..
2023-08-15 12:59:34 -04:00
2023-08-14 09:18:42 -04:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-21 16:55:37 +02:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-14 21:31:29 +01:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-22 14:33:31 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-10 18:14:03 -07:00
2023-08-17 11:49:04 -04:00
2023-08-17 11:49:04 -04:00