status/services/check_tcp_dial.go
2025-02-16 11:52:55 +01:00

29 lines
437 B
Go

package services
import (
"encoding/json"
"net"
)
func TCPDial(msg json.RawMessage) (Check, error) {
var config struct {
Address string `json:"address"`
}
err := json.Unmarshal(msg, &config)
if err != nil {
return nil, err
}
check := func() Status {
conn, err := net.Dial("tcp", config.Address)
if err != nil {
return StatusDown
}
// Ignore errors
_ = conn.Close()
return StatusUp
}
return check, nil
}