Fix regression for https_proxy and unix socket connections
Closes #1447 (closed)
This change consists of two parts:
9691e7a7: Adds GRPC integration tests for client.Dial
client.Dial
is the recommended way for Golang Gitaly clients to dial the Gitaly service, given a connection string. The method takes a URL which can refer to an insecure TCP connection, a secure TLS connection or an (insecure) Unix socket connection. Additionally, it supports several forms of URL for some of the URLs.
Unfortunately, we've found this interface to be fragile, having broken during refactoring and GRPC library upgrades. This change is an attempt to build some integration tests to catch these failures early, rather than later on in the process.
b7dacc19: Reintroduce a specific dialler for unix sockets
61f6c927 removed the Dialer for unix socket. This was done because a change to the GRPC library caused the Dialer to stop working, and because the default implementation works as expected for users not using a proxy.
Unfortunately this led to a regression for users with HTTP or HTTPS proxy configurations exposed via the http_proxy
or https_proxy
environment variables.
For this reason, we reintroduce the dialer for Unix socket connections.