From 8f1f47a816a9e18aedb8f160aa4539dd11b5f01a Mon Sep 17 00:00:00 2001 From: heqnx Date: Thu, 7 Aug 2025 18:26:45 +0300 Subject: small fixes --- build-release.sh | 0 main.go | 29 ++++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) mode change 100644 => 100755 build-release.sh diff --git a/build-release.sh b/build-release.sh old mode 100644 new mode 100755 diff --git a/main.go b/main.go index dc85d1d..c13494d 100644 --- a/main.go +++ b/main.go @@ -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) } } -- cgit v1.2.3