feat: http json data
This commit is contained in:
11
http.go
11
http.go
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user