diff options
| author | Felix Hanley <felix@userspace.com.au> | 2020-03-09 11:52:37 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2020-03-09 11:52:37 +0000 |
| commit | d333ad876ea06ae01ecf646424f9b0f02ad84419 (patch) | |
| tree | 880391c2453c077a0635bc16784a63de0b3d30ab /cmd | |
| parent | 88ead9d41072f3bec5b772b4d2fb0070995c09e8 (diff) | |
| download | sws-d333ad876ea06ae01ecf646424f9b0f02ad84419.tar.gz sws-d333ad876ea06ae01ecf646424f9b0f02ad84419.tar.bz2 | |
Fix overrides and start on styling
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/server/flags.go | 35 | ||||
| -rw-r--r-- | cmd/server/handlers.go | 4 | ||||
| -rw-r--r-- | cmd/server/main.go | 46 | ||||
| -rw-r--r-- | cmd/server/routes.go | 10 |
4 files changed, 30 insertions, 65 deletions
diff --git a/cmd/server/flags.go b/cmd/server/flags.go deleted file mode 100644 index b64bed1..0000000 --- a/cmd/server/flags.go +++ /dev/null @@ -1,35 +0,0 @@ -package main - -import ( - "flag" - "os" -) - -func stringFlag(long, short, def, envvar, desc string) *string { - if envvar != "" { - if v := os.Getenv(envvar); v != "" { - def = v - } - } - out := flag.String(long, def, desc) - if short != "" { - flag.StringVar(out, short, def, desc) - } - if out != nil && *out == "" { - return nil - } - return out -} - -func boolFlag(long, short string, def bool, envvar, desc string) *bool { - if envvar != "" { - if v := os.Getenv(envvar); v != "" { - def = true - } - } - out := flag.Bool(long, def, desc) - if short != "" { - flag.BoolVar(out, short, def, desc) - } - return out -} diff --git a/cmd/server/handlers.go b/cmd/server/handlers.go index d13109d..0264726 100644 --- a/cmd/server/handlers.go +++ b/cmd/server/handlers.go @@ -26,8 +26,8 @@ type templateData struct { func newTemplateData(r *http.Request) *templateData { out := &templateData{ - Payload: "//" + *domain + "/sws.js", - Endpoint: "//" + *domain + "/sws.gif", + Payload: "//" + domain + "/sws.js", + Endpoint: "//" + domain + "/sws.gif", } if r != nil { flashes := flashGet(r) diff --git a/cmd/server/main.go b/cmd/server/main.go index 309e11b..c831031 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -23,23 +23,23 @@ var ( // Flags var ( - verbose *bool - addr *string - dsn *string - domain *string - logFile *string - override *string - noMigrate *bool + verbose bool + addr string + dsn string + domain string + logFile string + override string + noMigrate bool ) func init() { - verbose = boolFlag("verbose", "v", false, "VERBOSE", "enable verbose output") - addr = stringFlag("listen", "l", "localhost:5000", "LISTEN", "listen address") - dsn = stringFlag("dsn", "", "file:sws.db?cache=shared", "DSN", "database password") - domain = stringFlag("domain", "", "stats.userspace.com.au", "DOMAIN", "stats domain") - logFile = stringFlag("log", "", "", "LOGFILE", "log to file") - override = stringFlag("override", "", "", "OVERRIDE", "override path") - noMigrate = boolFlag("no-migrate", "m", false, "NOMIGRATE", "disable migrations") + flag.BoolVar(&verbose, "verbose", false, "enable verbose output") + flag.StringVar(&addr, "listen", "localhost:5000", "listen address") + flag.StringVar(&dsn, "dsn", "file:sws.db?cache=shared", "database password") + flag.StringVar(&domain, "domain", "stats.userspace.com.au", "stats domain") + flag.StringVar(&logFile, "l", "", "log to file") + flag.StringVar(&override, "override", "", "override path") + flag.BoolVar(&noMigrate, "no-migrate", false, "disable migrations") // Default to no log log = func(v ...interface{}) {} @@ -56,14 +56,14 @@ func main() { flag.Parse() var output io.Writer = os.Stdout - if logFile != nil && *logFile != "" { - if output, err = os.Create(*logFile); err != nil { + if logFile != "" { + if output, err = os.Create(logFile); err != nil { fmt.Fprintf(os.Stderr, "failed to open log file: %s", err) os.Exit(1) } } - if *verbose { + if verbose { log = func(v ...interface{}) { fmt.Fprintf(output, "[%s] ", time.Now().Format(time.RFC3339)) fmt.Fprintln(output, v...) @@ -77,13 +77,13 @@ func main() { } log("version", Version) - driver := strings.SplitN(*dsn, ":", 2)[0] + driver := strings.SplitN(dsn, ":", 2)[0] if driver == "file" { driver = "sqlite3" } - if noMigrate == nil || !*noMigrate { - v, err := migrateDatabase(driver, *dsn) + if !noMigrate { + v, err := migrateDatabase(driver, dsn) if err != nil { log("failed to migrate:", err) os.Exit(2) @@ -91,7 +91,7 @@ func main() { log("database at version", v) } - db, err := sqlx.Open(driver, *dsn) + db, err := sqlx.Open(driver, dsn) if err != nil { log("failed to open database:", err) os.Exit(1) @@ -114,6 +114,6 @@ func main() { os.Exit(1) } - log("listening at", *addr) - http.ListenAndServe(*addr, r) + log("listening at", addr) + http.ListenAndServe(addr, r) } diff --git a/cmd/server/routes.go b/cmd/server/routes.go index 7c6f37e..1828664 100644 --- a/cmd/server/routes.go +++ b/cmd/server/routes.go @@ -27,9 +27,10 @@ func createRouter(db sws.Store) (chi.Router, error) { tmplsAuthed := append(tmplsCommon, []string{"layouts/base.tmpl", "charts.tmpl", "timerange.tmpl"}...) tmplsPublic := append(tmplsCommon, "layouts/public.tmpl") - if override != nil { + if override != "" { + log("using overrider", override) loadOverrider = func(s string) string { - return filepath.Join(*override, s) + return filepath.Join(override, s) } } @@ -55,13 +56,13 @@ func createRouter(db sws.Store) (chi.Router, error) { r.Use(middleware.RequestID) compressor := middleware.NewCompressor(5, "text/html", "text/css") r.Use(compressor.Handler()) - if *verbose { + if verbose { r.Use(middleware.Logger) } r.Use(middleware.Recoverer) // For counter - r.Get("/sws.js", handleCounter(*addr)) + r.Get("/sws.js", handleCounter(addr)) r.Get("/sws.gif", handleHitCounter(db)) //r.Get("/hits", handleHits(db)) @@ -167,7 +168,6 @@ func getUserCtx(db sws.UserStore) func(http.Handler) http.Handler { log("missing user") return } - debug("found user, adding to context") ctx := context.WithValue(r.Context(), "user", user) r = r.WithContext(ctx) }) |
