1
0
mirror of https://github.com/rclone/rclone.git synced 2025-03-17 20:27:52 +02:00

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 
This commit is contained in:
Nick Craig-Wood 2022-12-22 16:02:17 +00:00
parent 448fff9a04
commit 823d89af9a

@ -155,7 +155,6 @@ with a path of ` + "`/<username>/`" + `.
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 ` + "`/<username>/`" + `.
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),