| 151 | } |
| 152 | |
| 153 | func (u *Unpackerr) sendWebhookWithLog(hook *WebhookConfig, payload *WebhookPayload) { |
| 154 | var body bytes.Buffer |
| 155 | |
| 156 | if tmpl, err := hook.Template(); err != nil { |
| 157 | u.Errorf("Webhook Template (%s = %s): %v", payload.Path, payload.Event, err) |
| 158 | return |
| 159 | } else if err = tmpl.Execute(&body, payload); err != nil { |
| 160 | u.Errorf("Webhook Payload (%s = %s): %v", payload.Path, payload.Event, err) |
| 161 | return |
| 162 | } |
| 163 | |
| 164 | bodyStr := body.String() |
| 165 | |
| 166 | if reply, err := hook.Send(&body); err != nil { |
| 167 | u.Debugf("Webhook Payload: %s", bodyStr) |
| 168 | u.Errorf("Webhook (%s = %s): %s: %v", payload.Path, payload.Event, hook.Name, err) |
| 169 | u.Debugf("Webhook Response: %s", string(reply)) |
| 170 | } else if !hook.Silent { |
| 171 | u.Debugf("Webhook Payload: %s", bodyStr) |
| 172 | u.Printf("[Webhook] Posted Payload (%s = %s): %s: OK", payload.Path, payload.Event, hook.Name) |
| 173 | } |
| 174 | } |
| 175 | |
| 176 | // Send marshals an any into json and POSTs it to a URL. |
| 177 | func (w *WebhookConfig) Send(body io.Reader) ([]byte, error) { |