From 04e535038e16d234d8f5e5654fa8fcea92440f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Garc=C3=ADa=20del=20Canto?= Date: Wed, 27 Oct 2021 14:51:23 +0200 Subject: [PATCH] Allow to pass port using an environment variable (#44) --- README.md | 2 +- app.go | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 516793a..5182eba 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Tiny Go webserver that prints os information and HTTP request to output - `cert`: give me a certificate. - `key`: give me a key. -- `port`: give me a port number. (default: 80) +- `port`: give me a port number. (it can be also defined with `WHOAMI_PORT` environment variable) (default: 80) - `name`: give me a name. (it can be also defined with `WHOAMI_NAME` environment variable) ## Examples diff --git a/app.go b/app.go index 96163ff..d5ca565 100644 --- a/app.go +++ b/app.go @@ -43,7 +43,7 @@ func init() { flag.StringVar(&cert, "cert", "", "give me a certificate") flag.StringVar(&key, "key", "", "give me a key") flag.StringVar(&ca, "cacert", "", "give me a CA chain, enforces mutual TLS") - flag.StringVar(&port, "port", "80", "give me a port number") + flag.StringVar(&port, "port", getEnv("WHOAMI_PORT", "80"), "give me a port number") flag.StringVar(&name, "name", os.Getenv("WHOAMI_NAME"), "give me a name") } @@ -306,3 +306,11 @@ func fillContent(length int64) io.ReadSeeker { return bytes.NewReader(b) } + +func getEnv(key, fallback string) string { + value := os.Getenv(key) + if len(value) == 0 { + return fallback + } + return value +}