func()

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
}