Add option for server hostport
All checks were successful
the build was successful

This commit is contained in:
Peter Stuifzand 2018-12-10 19:52:36 +01:00
parent 7aa6471696
commit 1aa7ff8d92

View File

@ -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))
}