Skip to content
Branch: master
Find file History
ibuildthecloud and alexellis Switch to using github.com/rancher/remotedialer for the transport
Fundamentally Inlets must perform tunneling and reverse proxying. Prior
to this commit both functions in Inlets are custom implementations tied
quite heavily to HTTP 1.1 request/response with no bi-directional
communication.

This patch replaces both tunneling and proxying with external libraries.
The transport layer is switched to using
github.com/rancher/remotedialer. Remote dialer allows tunneling
connections at a net.Conn level so higher level protocols such
as HTTP, HTTP2, WebSockets, gRPC, etc need not require specific
tunneling logic only proxy logic.

For proxying logic we use Kubernetes UpgradeAwareHandler which builds on
top of go's built in httputil.ReverseProxy but adds support for
"Connection: Upgrade" requests and HTTP response HTML rewriting. Once
Inlets switches to go 1.12 it might be possible to drop the Kubernetes
library and instead use the bare httputil.ReverseProxy as go 1.12 adds
support for proxying WebSockets.

Signed-off-by: Darren Shepherd <darren@rancher.com>
Latest commit 44bb61c Mar 28, 2019
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
client.go Switch to using github.com/rancher/remotedialer for the transport Apr 27, 2019
inlets.go Change .gitignore to take inlets.go file into consideration Mar 12, 2019
server.go
You can’t perform that action at this time.