diff --git a/Makefile b/Makefile index a3e1ece..aad86ec 100644 --- a/Makefile +++ b/Makefile @@ -74,8 +74,7 @@ start-webserver_%: ## Start the webserver (usage: make start-webserver_ ") - return +var ( + host string + port string +) + +func init() { + flag.Usage = func() { + fmt.Println("Usage: web [options]") + flag.PrintDefaults() } + flag.StringVar(&host, "host", "host-b", "host name which should be displayed") + flag.StringVar(&port, "port", "8080", "port number to listen on") +} - host := os.Args[1] - port := os.Args[2] +func generateMessage(host string) string { + image := asciibot.Random() + return fmt.Sprintf("Welcome from %s\n%s", host, image) +} +func main() { + flag.Parse() http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Println("Received request from", r.RemoteAddr) - switch host { - case "host-b": - fmt.Fprintln(w, "Welcome from Host-B") - case "host-c": - fmt.Fprintln(w, "Welcome from Host-C") - default: - http.Error(w, "Invalid host", http.StatusBadRequest) - } + fmt.Fprintln(w, generateMessage(host)) }) fmt.Printf("Starting server on host %s at port %s\n", host, port) diff --git a/tools/web/webserver b/tools/web/webserver index 0db6f6e..184ce80 100755 Binary files a/tools/web/webserver and b/tools/web/webserver differ