feat: http json data

This commit is contained in:
Christoph Eck
2020-10-20 07:50:31 +02:00
parent e07b2fb574
commit dc0170a4c8

11
http.go
View File

@@ -1,6 +1,7 @@
package cachet package cachet
import ( import (
"bytes"
"crypto/tls" "crypto/tls"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
@@ -38,11 +39,19 @@ type HTTPMonitor struct {
// compiled to Regexp // compiled to Regexp
ExpectedBody string `mapstructure:"expected_body"` ExpectedBody string `mapstructure:"expected_body"`
bodyRegexp *regexp.Regexp bodyRegexp *regexp.Regexp
// JSON data
Data string `mapstructure:"data"`
} }
// TODO: test // TODO: test
func (monitor *HTTPMonitor) test() bool { func (monitor *HTTPMonitor) test() bool {
req, err := http.NewRequest(monitor.Method, monitor.Target, nil) var dataBuffer *bytes.Buffer = nil
if monitor.Data != "" {
dataBuffer = bytes.NewBuffer([]byte(monitor.Data))
}
req, err := http.NewRequest(monitor.Method, monitor.Target, dataBuffer)
for k, v := range monitor.Headers { for k, v := range monitor.Headers {
req.Header.Add(k, v) req.Header.Add(k, v)
} }