From 176af2b217866099c125ea42609f04dd51579447 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Thu, 22 Dec 2022 16:02:17 +0000 Subject: [PATCH] serve restic: don't serve via http if serving via --stdio Before this change, we started the http listener even if --stdio was supplied. This also moves the log message so the user won't see the serving via HTTP message unless they are really using that. Fixes #6646 --- cmd/serve/restic/restic.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/serve/restic/restic.go b/cmd/serve/restic/restic.go index 0752d1ca5..fbdc947e1 100644 --- a/cmd/serve/restic/restic.go +++ b/cmd/serve/restic/restic.go @@ -155,7 +155,6 @@ with a path of ` + "`//`" + `. if err != nil { return err } - fs.Logf(s.f, "Serving restic REST API on %s", s.URLs()) if s.opt.Stdio { if terminal.IsTerminal(int(os.Stdout.Fd())) { return errors.New("refusing to run HTTP2 server directly on a terminal, please let restic start rclone") @@ -173,6 +172,7 @@ with a path of ` + "`//`" + `. httpSrv.ServeConn(conn, opts) return nil } + fs.Logf(s.f, "Serving restic REST API on %s", s.URLs()) s.Wait() return nil }) @@ -242,6 +242,10 @@ func newServer(ctx context.Context, f fs.Fs, opt *Options) (s *server, err error cache: newCache(opt.CacheObjects), opt: *opt, } + // Don't bind any HTTP listeners if running with --stdio + if opt.Stdio { + opt.HTTP.ListenAddr = nil + } s.Server, err = libhttp.NewServer(ctx, libhttp.WithConfig(opt.HTTP), libhttp.WithAuth(opt.Auth),