tvl-depot/third_party/overlays/patches/evans-add-support-for-unix-domain-sockets.patch
Florian Klink d1adefc9f9 feat(third_party/overlays): support unix domain sockets in evans
This applies a patch adding support for unix domain sockets to evans,
which was also sent upstream at
https://github.com/ktr0731/evans/pull/680.

Change-Id: I6e483ace45428a7526a200f885aa92c2de88b650
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9563
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
2023-10-08 11:11:52 +00:00

39 lines
1.2 KiB
Diff

From 55d7e7af7c56f678eb817059417241bb61ee5181 Mon Sep 17 00:00:00 2001
From: Florian Klink <flokli@flokli.de>
Date: Sun, 8 Oct 2023 11:00:27 +0200
Subject: [PATCH] add support for unix domain sockets
grpc.NewClient already supports connecting to unix domain sockets, and
accepts a string anyways.
As a quick fix, detect the `address` starting with `unix://` and don't
add the port.
In the long term, we might want to deprecate `host` and `port` cmdline
args in favor of a single `address` arg.
---
mode/common.go | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/mode/common.go b/mode/common.go
index dfc7839..55f1e36 100644
--- a/mode/common.go
+++ b/mode/common.go
@@ -13,7 +13,13 @@ import (
)
func newGRPCClient(cfg *config.Config) (grpc.Client, error) {
- addr := fmt.Sprintf("%s:%s", cfg.Server.Host, cfg.Server.Port)
+ addr := cfg.Server.Host
+
+ // as long as the address doesn't start with unix, also add the port.
+ if !strings.HasPrefix(cfg.Server.Host, "unix://") {
+ addr = fmt.Sprintf("%s:%s", cfg.Server.Host, cfg.Server.Port)
+ }
+
if cfg.Request.Web {
//TODO: remove second arg
return grpc.NewWebClient(addr, cfg.Server.Reflection, false, "", "", "", grpc.Headers(cfg.Request.Header)), nil
--
2.42.0