func newResponse()

in cfn/response.go [67:102]


func newResponse(pevt *handler.ProgressEvent, bearerToken string) (response, error) {
	model, err := encoding.Stringify(pevt.ResourceModel)
	if err != nil {
		return response{}, err
	}

	var models []interface{}
	if pevt.ResourceModels != nil {
		models = make([]interface{}, len(pevt.ResourceModels))
		for i := range pevt.ResourceModels {
			m, err := encoding.Stringify(pevt.ResourceModels[i])
			if err != nil {
				return response{}, err
			}

			models[i] = m
		}
	}

	resp := response{
		BearerToken:          bearerToken,
		Message:              pevt.Message,
		OperationStatus:      pevt.OperationStatus,
		ResourceModel:        model,
		ResourceModels:       models,
		NextToken:            pevt.NextToken,
		CallbackContext:      pevt.CallbackContext,
		CallbackDelaySeconds: pevt.CallbackDelaySeconds,
	}

	if pevt.HandlerErrorCode != "" {
		resp.ErrorCode = pevt.HandlerErrorCode
	}

	return resp, nil
}