func reportFailure()

in lambda/invoke_loop.go [104:117]


func reportFailure(invoke *invoke, invokeErr *messages.InvokeResponse_Error) error {
	errorPayload := safeMarshal(invokeErr)
	log.Printf("%s", errorPayload)

	causeForXRay, err := json.Marshal(makeXRayError(invokeErr))
	if err != nil {
		return fmt.Errorf("unexpected error occured when serializing the function error cause for X-Ray: %v", err)
	}

	if err := invoke.failure(bytes.NewReader(errorPayload), contentTypeJSON, causeForXRay); err != nil {
		return fmt.Errorf("unexpected error occurred when sending the function error to the API: %v", err)
	}
	return nil
}