From 30c8af2cef76a19f2a2e8a6932fe2f3414440564 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 8 Apr 2022 13:55:41 +0200 Subject: [PATCH] Add argument to change port --- README.adoc | 11 +++++++++++ idicon.go | 9 ++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/README.adoc b/README.adoc index 305445e..502b3e7 100644 --- a/README.adoc +++ b/README.adoc @@ -4,6 +4,17 @@ Simple implementation of an identicon service. == Usage +=== Start application + +The application takes two optional arguments to specify the location of the config file and the port the application +is listening. The following example shows the default values used if no arguments used. + +.... +$ idicon -c /etc/idicon/config.toml -p 8000 +.... + +=== Client side + HTTP `GET` is used to request an identicon image. .... diff --git a/idicon.go b/idicon.go index e24d955..8c0717d 100644 --- a/idicon.go +++ b/idicon.go @@ -4,6 +4,7 @@ import ( "crypto/md5" "encoding/hex" "flag" + "fmt" "image" "image/color" "image/draw" @@ -196,13 +197,15 @@ func configure(configFile string) { } func main() { - configFile := flag.String("c", "/etc/idicon/config.toml", "-c ") + configFile := flag.String("c", "/etc/idicon/config.toml", "path to config file") + port := flag.Int("p", 8000, "server port") + flag.Parse() configure(*configFile) router := mux.NewRouter() router.HandleFunc("/avatar/{id}", requestHandler) - log.Println("Starting ...") - log.Fatal(http.ListenAndServe(":8000", router)) + log.Println(fmt.Sprintf("Starting on port %d ...", *port)) + log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", *port), router)) }