added hook flag incoming-payload-content-type

This commit is contained in:
Donald Clark Jackson 2017-11-22 10:38:50 -08:00
parent 514388e39e
commit b7a992704f
2 changed files with 3 additions and 2 deletions

View File

@ -391,6 +391,7 @@ type Hook struct {
JSONStringParameters []Argument `json:"parse-parameters-as-json,omitempty"`
TriggerRule *Rules `json:"trigger-rule,omitempty"`
TriggerRuleMismatchHttpResponseCode int `json:"trigger-rule-mismatch-http-response-code,omitempty"`
IncomingPayloadContentType string `json:"incoming-payload-content-type,omitempty"`
}
// ParseJSONParameters decodes specified arguments to JSON objects and replaces the

View File

@ -231,7 +231,7 @@ func hookHandler(w http.ResponseWriter, r *http.Request) {
contentType := r.Header.Get("Content-Type")
if strings.Contains(contentType, "json") {
if strings.Contains(matchedHook.IncomingPayloadContentType, "json") || strings.Contains(contentType, "json") {
decoder := json.NewDecoder(strings.NewReader(string(body)))
decoder.UseNumber()
@ -240,7 +240,7 @@ func hookHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Printf("[%s] error parsing JSON payload %+v\n", rid, err)
}
} else if strings.Contains(contentType, "form") {
} else if strings.Contains(matchedHook.IncomingPayloadContentType, "form") || strings.Contains(contentType, "form") {
fd, err := url.ParseQuery(string(body))
if err != nil {
log.Printf("[%s] error parsing form payload %+v\n", rid, err)