From c07bca31445d6d349953f943ea0971bb39809682 Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Tue, 30 Jul 2013 18:04:33 -0700 Subject: [PATCH] Config file support for monitor http port --- gnatsd.go | 2 +- server/configs/test.conf | 2 ++ server/opts.go | 2 ++ server/opts_test.go | 16 +++++++++++----- server/routes_test.go | 2 +- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gnatsd.go b/gnatsd.go index 1677437e..d2029b04 100644 --- a/gnatsd.go +++ b/gnatsd.go @@ -87,7 +87,7 @@ func main() { s.StartRouting() } - // Profiler + // Pprof http endpoint for the profiler. go func() { log.Println(http.ListenAndServe("localhost:6062", nil)) }() diff --git a/server/configs/test.conf b/server/configs/test.conf index 29d7c92b..099e9421 100644 --- a/server/configs/test.conf +++ b/server/configs/test.conf @@ -4,6 +4,8 @@ port: 4242 net: apcera.me # net interface +http_port: 8222 + authorization { user: derek password: bella diff --git a/server/opts.go b/server/opts.go index 1e249f4a..39f8b389 100644 --- a/server/opts.go +++ b/server/opts.go @@ -82,6 +82,8 @@ func ProcessConfigFile(configFile string) (*Options, error) { opts.Username = auth.user opts.Password = auth.pass opts.AuthTimeout = auth.timeout + case "http_port", "monitor_port": + opts.HttpPort = int(v.(int64)) case "cluster": cm := v.(map[string]interface{}) if err := parseCluster(cm, opts); err != nil { diff --git a/server/opts_test.go b/server/opts_test.go index 58cf03fb..8224523b 100644 --- a/server/opts_test.go +++ b/server/opts_test.go @@ -39,6 +39,7 @@ func TestConfigFile(t *testing.T) { Debug: false, Trace: true, Logtime: false, + HttpPort: 8222, } opts, err := ProcessConfigFile("./configs/test.conf") @@ -47,7 +48,8 @@ func TestConfigFile(t *testing.T) { } if !reflect.DeepEqual(golden, opts) { - t.Fatal("Options are incorrect from config file") + t.Fatalf("Options are incorrect.\nexpected: %+v\ngot: %+v", + golden, opts) } } @@ -61,6 +63,7 @@ func TestMergeOverrides(t *testing.T) { Debug: true, Trace: true, Logtime: false, + HttpPort: DEFAULT_HTTP_PORT, } fopts, err := ProcessConfigFile("./configs/test.conf") if err != nil { @@ -69,12 +72,15 @@ func TestMergeOverrides(t *testing.T) { // Overrides via flags opts := &Options{ - Port: 2222, - Password: "spooky", - Debug: true, + Port: 2222, + Password: "spooky", + Debug: true, + HttpPort: DEFAULT_HTTP_PORT, } merged := MergeOptions(fopts, opts) + if !reflect.DeepEqual(golden, merged) { - t.Fatal("Options are incorrect from config file") + t.Fatalf("Options are incorrect.\nexpected: %+v\ngot: %+v", + golden, merged) } } diff --git a/server/routes_test.go b/server/routes_test.go index b345f397..1bfb4003 100644 --- a/server/routes_test.go +++ b/server/routes_test.go @@ -34,7 +34,7 @@ func TestRouteConfig(t *testing.T) { golden.Routes = []*url.URL{r1, r2} if !reflect.DeepEqual(golden, opts) { - t.Fatalf("Options are incorrect from config file.\nexpected: %+v\ngot: %+v", + t.Fatalf("Options are incorrect.\nexpected: %+v\ngot: %+v", golden, opts) } }