func GetErrorResponseWithFormattedErrorMessage()

in lambda/interop/model.go [131:162]


func GetErrorResponseWithFormattedErrorMessage(errorType fatalerror.ErrorType, err error, invokeRequestID string) *ErrorInvokeResponse {
	var errorMessage string
	if invokeRequestID != "" {
		errorMessage = fmt.Sprintf("RequestId: %s Error: %v", invokeRequestID, err)
	} else {
		errorMessage = fmt.Sprintf("Error: %v", err)
	}

	jsonPayload, err := json.Marshal(FunctionError{
		Type:    errorType,
		Message: errorMessage,
	})

	if err != nil {
		return &ErrorInvokeResponse{
			Headers: InvokeResponseHeaders{},
			FunctionError: FunctionError{
				Type:    fatalerror.SandboxFailure,
				Message: errorMessage,
			},
			Payload: []byte{},
		}
	}

	headers := InvokeResponseHeaders{}
	functionError := FunctionError{
		Type:    errorType,
		Message: errorMessage,
	}

	return &ErrorInvokeResponse{Headers: headers, FunctionError: functionError, Payload: jsonPayload}
}