in composite/batch/batch.go [132:159]
func (r *Resource) payload(haltOnError bool, requesters []Subrequester) (*bytes.Reader, error) {
subRequests := make([]interface{}, len(requesters))
for idx, requester := range requesters {
subRequest := map[string]interface{}{
"url": requester.URL(),
"method": requester.Method(),
}
if requester.BinaryPartName() != "" {
subRequest["binaryPartName"] = requester.BinaryPartName()
}
if requester.BinaryPartNameAlias() != "" {
subRequest["binaryPartNameAlias"] = requester.BinaryPartNameAlias()
}
if requester.RichInput() != nil {
subRequest["richInput"] = requester.RichInput()
}
subRequests[idx] = subRequest
}
payload := map[string]interface{}{
"haltOnError": haltOnError,
"batchRequests": subRequests,
}
jsonBody, err := json.Marshal(payload)
if err != nil {
return nil, err
}
return bytes.NewReader(jsonBody), nil
}