From 1aa7ff8d92481069bb8ecae63651a764f16fdb61 Mon Sep 17 00:00:00 2001 From: Peter Stuifzand Date: Mon, 10 Dec 2018 19:52:36 +0100 Subject: [PATCH] Add option for server hostport --- cmd/hubserver/main.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/cmd/hubserver/main.go b/cmd/hubserver/main.go index 4b9aed7..9f72e93 100644 --- a/cmd/hubserver/main.go +++ b/cmd/hubserver/main.go @@ -4,6 +4,7 @@ import ( "crypto/hmac" "crypto/sha1" "encoding/json" + "flag" "fmt" "io/ioutil" "log" @@ -245,8 +246,9 @@ func (handler *subscriptionHandler) addSubscriberCallback(topic string, subscrib for i, sub := range subs { if sub.Callback == subscriber.Callback { handler.Subscribers[topic][i] = subscriber - log.Println(handler.save()) - + if err := handler.save(); err != nil { + log.Println(err) + } return } } @@ -257,9 +259,6 @@ func (handler *subscriptionHandler) addSubscriberCallback(topic string, subscrib } func (handler *subscriptionHandler) incStat(name string) { - handler.LockStats.Lock() - defer handler.LockStats.Unlock() - if v, e := handler.Stats[name]; e { handler.Stats[name] = Stat{LastUpdate: time.Now(), Updates: v.Updates + 1} } else { @@ -339,6 +338,7 @@ func (handler *subscriptionHandler) saveStats() error { defer file.Close() dec := json.NewEncoder(file) dec.SetIndent("", " ") + err = dec.Encode(&handler.Stats) return err } @@ -390,9 +390,18 @@ func (handler *subscriptionHandler) save() error { } func main() { + var hostPort string + flag.StringVar(&hostPort, "http", ":80", "host and port to listen on") + flag.Parse() + handler := &subscriptionHandler{} + log.Println(handler.load()) - fmt.Printf("%#v\n", handler.Subscribers) + + log.Printf("%#v\n", handler.Subscribers) + log.Printf("%#v\n", handler.Stats) + http.Handle("/", handler) - log.Fatal(http.ListenAndServe(":80", nil)) + + log.Fatal(http.ListenAndServe(hostPort, nil)) }