Make Hello World Test URL configurable
This should not be active by default for security reasons.
This commit is contained in:
		| @@ -6,4 +6,5 @@ service: | |||||||
|     configdir: users/ |     configdir: users/ | ||||||
|     statedir: state/ |     statedir: state/ | ||||||
| webapi: | webapi: | ||||||
|  |   allowhello: false | ||||||
|   listenaddress: :8080 |   listenaddress: :8080 | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ import ( | |||||||
|  |  | ||||||
| type config struct { | type config struct { | ||||||
| 	ListenAddress string | 	ListenAddress string | ||||||
|  | 	AllowHello    bool | ||||||
| } | } | ||||||
|  |  | ||||||
| var C config | var C config | ||||||
| @@ -19,6 +20,7 @@ func init() { | |||||||
|  |  | ||||||
| func SetConfigDefaults() { | func SetConfigDefaults() { | ||||||
| 	viper.SetDefault("WebAPI.ListenAddress", ":8080") | 	viper.SetDefault("WebAPI.ListenAddress", ":8080") | ||||||
|  | 	viper.SetDefault("WebAPI.AllowHello", false) | ||||||
| } | } | ||||||
|  |  | ||||||
| func LoadConfig() { | func LoadConfig() { | ||||||
| @@ -27,6 +29,7 @@ func LoadConfig() { | |||||||
| 	// https://github.com/spf13/viper/issues/309 | 	// https://github.com/spf13/viper/issues/309 | ||||||
| 	// viper.UnmarshalKey("WebAPI", &C) | 	// viper.UnmarshalKey("WebAPI", &C) | ||||||
| 	C.ListenAddress = viper.GetString("WebAPI.ListenAddress") | 	C.ListenAddress = viper.GetString("WebAPI.ListenAddress") | ||||||
|  | 	C.AllowHello = viper.GetBool("WebAPI.AllowHello") | ||||||
| } | } | ||||||
|  |  | ||||||
| func (obj *config) PrettyPrint() string { | func (obj *config) PrettyPrint() string { | ||||||
|   | |||||||
| @@ -13,10 +13,12 @@ var router = mux.NewRouter() | |||||||
| func Server() { | func Server() { | ||||||
| 	router.StrictSlash(true) | 	router.StrictSlash(true) | ||||||
|  |  | ||||||
|  | 	if C.AllowHello { | ||||||
| 		router.HandleFunc("/hello", handleHello) | 		router.HandleFunc("/hello", handleHello) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	log.Printf("Listening to: %s", C.ListenAddress) | 	log.Printf("Listening to: %s", C.ListenAddress) | ||||||
| 	go log.Fatal(http.ListenAndServe(C.ListenAddress, router)) | 	log.Fatal(http.ListenAndServe(C.ListenAddress, router)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func handleHello(w http.ResponseWriter, r *http.Request) { | func handleHello(w http.ResponseWriter, r *http.Request) { | ||||||
| @@ -25,5 +27,5 @@ func handleHello(w http.ResponseWriter, r *http.Request) { | |||||||
| 	log.Println(r.URL) | 	log.Println(r.URL) | ||||||
| 	log.Println(r.Form.Get("Lorem")) | 	log.Println(r.Form.Get("Lorem")) | ||||||
| 	log.Println(r.Form) | 	log.Println(r.Form) | ||||||
| 	fmt.Fprint(w, "<html><body><p>Hello World</p></body></html>") | 	fmt.Fprintf(w, "<html><body><h1>Hello World</h1><p>Lorem = %s</p></body></html>", r.Form.Get("Lorem")) | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user