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}
}