This commit is contained in:
parent
7aa6471696
commit
1aa7ff8d92
|
@ -4,6 +4,7 @@ import (
|
||||||
"crypto/hmac"
|
"crypto/hmac"
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
|
@ -245,8 +246,9 @@ func (handler *subscriptionHandler) addSubscriberCallback(topic string, subscrib
|
||||||
for i, sub := range subs {
|
for i, sub := range subs {
|
||||||
if sub.Callback == subscriber.Callback {
|
if sub.Callback == subscriber.Callback {
|
||||||
handler.Subscribers[topic][i] = subscriber
|
handler.Subscribers[topic][i] = subscriber
|
||||||
log.Println(handler.save())
|
if err := handler.save(); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -257,9 +259,6 @@ func (handler *subscriptionHandler) addSubscriberCallback(topic string, subscrib
|
||||||
}
|
}
|
||||||
|
|
||||||
func (handler *subscriptionHandler) incStat(name string) {
|
func (handler *subscriptionHandler) incStat(name string) {
|
||||||
handler.LockStats.Lock()
|
|
||||||
defer handler.LockStats.Unlock()
|
|
||||||
|
|
||||||
if v, e := handler.Stats[name]; e {
|
if v, e := handler.Stats[name]; e {
|
||||||
handler.Stats[name] = Stat{LastUpdate: time.Now(), Updates: v.Updates + 1}
|
handler.Stats[name] = Stat{LastUpdate: time.Now(), Updates: v.Updates + 1}
|
||||||
} else {
|
} else {
|
||||||
|
@ -339,6 +338,7 @@ func (handler *subscriptionHandler) saveStats() error {
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
dec := json.NewEncoder(file)
|
dec := json.NewEncoder(file)
|
||||||
dec.SetIndent("", " ")
|
dec.SetIndent("", " ")
|
||||||
|
|
||||||
err = dec.Encode(&handler.Stats)
|
err = dec.Encode(&handler.Stats)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -390,9 +390,18 @@ func (handler *subscriptionHandler) save() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
var hostPort string
|
||||||
|
flag.StringVar(&hostPort, "http", ":80", "host and port to listen on")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
handler := &subscriptionHandler{}
|
handler := &subscriptionHandler{}
|
||||||
|
|
||||||
log.Println(handler.load())
|
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)
|
http.Handle("/", handler)
|
||||||
log.Fatal(http.ListenAndServe(":80", nil))
|
|
||||||
|
log.Fatal(http.ListenAndServe(hostPort, nil))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user