func()

in composite/composite.go [149:174]


func (r *Resource) payload(allOrNone bool, requesters []Subrequester) (*bytes.Reader, error) {
	subRequests := make([]interface{}, len(requesters))
	for idx, requester := range requesters {
		subRequest := map[string]interface{}{
			"url":         requester.URL(),
			"referenceId": requester.ReferenceID(),
			"method":      requester.Method(),
		}
		if requester.Body() != nil {
			subRequest["body"] = requester.Body()
		}
		if requester.HTTPHeaders() != nil {
			subRequest["httpHeaders"] = requester.HTTPHeaders()
		}
		subRequests[idx] = subRequest
	}
	payload := map[string]interface{}{
		"allOrNone":        allOrNone,
		"compositeRequest": subRequests,
	}
	jsonBody, err := json.Marshal(payload)
	if err != nil {
		return nil, err
	}
	return bytes.NewReader(jsonBody), nil
}