in NewNotification.go [25:62]
func CreateNotificationDoc(content *TemplateContent) (string, error) {
templateContent := `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NotificationDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<action>
<http synchronous="false">
<retry>5</retry>
<contentType>application/json</contentType>
<url>{{.Url}}</url>
<method>POST</method>
<timeout>10</timeout>
</http>
</action>
<trigger>
<{{.EntityType}}>
<{{.NotificationType}}/>
</{{.EntityType}}>
</trigger>
</NotificationDocument>`
tmpl, err := template.New("notificationDoc").Parse(templateContent)
if err != nil {
return "", err
}
buffer := bytes.Buffer{}
err = tmpl.Execute(&buffer, content)
if err != nil {
return "", err
}
finalDoc := buffer.String()
log.Printf("DEBUG generated document is %s", finalDoc)
_, testErr := xmlquery.Parse(strings.NewReader(finalDoc))
if testErr != nil {
log.Print("Failing document was: ", finalDoc)
return "", testErr
}
return finalDoc, nil
}