diff --git a/cmd/grpcurl/grpcurl.go b/cmd/grpcurl/grpcurl.go index aaead29..a3fcba1 100644 --- a/cmd/grpcurl/grpcurl.go +++ b/cmd/grpcurl/grpcurl.go @@ -45,6 +45,8 @@ var version = noVersion var ( exit = os.Exit + isUnixSocket func() bool // nil when run on non-unix platform + flags = flag.NewFlagSet(os.Args[0], flag.ExitOnError) help = flags.Bool("help", false, prettify(` @@ -361,6 +363,9 @@ func main() { if *format != "json" && *format != "text" { fail(nil, "The -format option must be 'json' or 'text'.") } + if isUnixSocket != nil && isUnixSocket() { + fail(nil, "The -unix option is deprecated, please use unix://{path} as the address instead.") + } if *emitDefaults && *format != "json" { warn("The -emit-defaults is only used when using json format.") } diff --git a/cmd/grpcurl/unix.go b/cmd/grpcurl/unix.go new file mode 100644 index 0000000..cae4bed --- /dev/null +++ b/cmd/grpcurl/unix.go @@ -0,0 +1,15 @@ +//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows +// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows + +package main + +var ( + unix = flags.Bool("unix", false, prettify(` + Indicates that the server address is the path to a Unix domain socket.`)) +) + +func init() { + isUnixSocket = func() bool { + return *unix + } +}