func CreateNotificationDoc()

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
}