diff options
-rwxr-xr-x[-rw-r--r--] | build-release.sh | 0 | ||||
-rw-r--r-- | main.go | 29 |
2 files changed, 24 insertions, 5 deletions
diff --git a/build-release.sh b/build-release.sh index 5f1b978..5f1b978 100644..100755 --- a/build-release.sh +++ b/build-release.sh @@ -10,6 +10,20 @@ import ( "os" "time" ) +func init() { + const usageHeader = ` +simple golang http server to log http request bodies and parameters; can optionally respond with static file content + +author: heqnx - https://heqnx.com + +` + flag.Usage = func() { + fmt.Fprint(os.Stderr, usageHeader) + fmt.Fprintf(os.Stderr, "usage of %s:\n", os.Args[0]) + flag.PrintDefaults() + } + flag.CommandLine.SetOutput(os.Stderr) +} func main() { listen := flag.String("listen", "0.0.0.0", "interface to listen on (default: 0.0.0.0)") @@ -19,10 +33,15 @@ func main() { responseFile := flag.String("response", "", "file to use as static HTTP response body") flag.Parse() + if flag.NFlag() == 0 && flag.NArg() == 0 { + flag.Usage() + os.Exit(1) + } + logFilename := fmt.Sprintf("requests_%s.log", time.Now().Format("2006-01-02T15-04-05")) logFile, err := os.OpenFile(logFilename, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { - log.Fatalf("Failed to open log file: %v", err) + fmt.Printf("[err] filed to open log file: %v\n", err) } defer logFile.Close() @@ -33,7 +52,7 @@ func main() { if *responseFile != "" { staticResponse, err = os.ReadFile(*responseFile) if err != nil { - log.Fatalf("Failed to read response file: %v", err) + fmt.Printf("[err] failed to read response file: %v\n", err) } } @@ -72,14 +91,14 @@ func main() { addr := *listen + ":" + *port if *cert != "" && *key != "" { - logger.Printf("Starting HTTPS server on %s\n", addr) + logger.Printf("[inf] starting https server on %s\n", addr) err = http.ListenAndServeTLS(addr, *cert, *key, nil) } else { - logger.Printf("Starting HTTP server on %s\n", addr) + logger.Printf("[inf] starting http server on %s\n", addr) err = http.ListenAndServe(addr, nil) } if err != nil { - logger.Fatalf("Server failed: %v", err) + fmt.Printf("[err] server failed: %v\n", err) } } |