From 7f4a7870a00bc4e653808ff82ecb1f2ecfa6ec20 Mon Sep 17 00:00:00 2001 From: stefanbenten Date: Sat, 28 Mar 2020 19:17:35 +0100 Subject: [PATCH] Add Flag and Config Parameter Handling --- cmd/cmd.go | 10 ++++++++++ server/server.go | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/cmd/cmd.go b/cmd/cmd.go index 6507025..16883f9 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -91,6 +91,11 @@ var globalFlags = []cli.Flag{ Usage: "key for user voice (front end)", Value: "", }, + cli.IntFlag{ + Name: "lifetime", + Usage: "default file lifetime", + Value: 14, + }, cli.StringFlag{ Name: "provider", Usage: "s3|gdrive|local", @@ -334,6 +339,11 @@ func New() *Cmd { if applyIPFilter { options = append(options, server.FilterOptions(ipFilterOptions)) } + if lifetime := c.Int("lifetime"); lifetime > 0 { + server.LifeTime(lifetime) + } else { + panic("lifetime not greater than 0") + } switch provider := c.String("provider"); provider { case "s3": diff --git a/server/server.go b/server/server.go index ca9d9b7..55ed4f7 100644 --- a/server/server.go +++ b/server/server.go @@ -177,6 +177,12 @@ func EnableProfiler() OptionFn { } } +func LifeTime(lifetime int) OptionFn { + return func(srvr *Server) { + srvr.lifetime = time.Hour * 24 * time.Duration(lifetime) + } +} + func UseStorage(s Storage) OptionFn { return func(srvr *Server) { srvr.storage = s