2020-01-14 09:43:12 +01:00
|
|
|
package main
|
|
|
|
|
2020-01-14 14:49:14 +01:00
|
|
|
import (
|
|
|
|
"github.com/CaliDog/certstream-go"
|
|
|
|
"github.com/op/go-logging"
|
2020-01-14 16:31:57 +01:00
|
|
|
"gitlab.dcso.lolcat/LABS/styx/models"
|
|
|
|
"gitlab.dcso.lolcat/LABS/styx/utils"
|
2020-01-14 14:49:14 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
log = logging.MustGetLogger("example")
|
|
|
|
)
|
2020-01-14 09:43:12 +01:00
|
|
|
|
|
|
|
func main() {
|
2020-01-14 14:49:14 +01:00
|
|
|
// The false flag specifies that we want heartbeat messages.
|
|
|
|
stream, errStream := certstream.CertStreamEventStream(false)
|
|
|
|
for {
|
|
|
|
select {
|
|
|
|
case jq := <-stream:
|
|
|
|
messageType, err := jq.String("message_type")
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal("Error decoding jq string")
|
|
|
|
}
|
|
|
|
|
|
|
|
log.Info("Message type -> ", messageType)
|
|
|
|
log.Info("recv: ", jq)
|
|
|
|
|
2020-01-14 16:31:57 +01:00
|
|
|
if data, err := utils.ExtractCertFromStream(jq); err == nil {
|
|
|
|
models.SaveData("test", *data)
|
|
|
|
}
|
|
|
|
|
2020-01-14 14:49:14 +01:00
|
|
|
case err := <-errStream:
|
|
|
|
log.Error(err)
|
|
|
|
}
|
|
|
|
}
|
2020-01-14 09:43:12 +01:00
|
|
|
}
|