Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Force Lambda failure #558

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Force Lambda failure #558

wants to merge 7 commits into from

Conversation

bnusunny
Copy link
Contributor

Issue #, if available:

close #555 #537

Description of changes:

Add AWS_LWA_ERROR_STATUS_CODES environment variable, to allow developers to force Lambda failure.

A comma-separated list of HTTP status codes that will cause Lambda invocations to fail. Supports individual codes and ranges (e.g. "500,502-504,422"). When the web application returns any of these status codes, the Lambda invocation will fail and trigger error handling behaviors like retries or DLQ processing. This is useful for treating certain HTTP errors as Lambda execution failures. This feature is disabled by default.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

…d the new feature of configurable error status codes via the `AWS_LWA_ERROR_STATUS_CODES` environment variable, with support for both individual codes and ranges.

Key points about the implementation:
1. Backward compatibility is maintained
2. Supports comma-separated status codes and ranges
3. Gracefully handles invalid input
4. Added parsing and testing for status code parsing
5. Integrated into the existing `fetch_response` method

The code is ready to be committed. Would you like me to generate a commit message for these changes?
@bnusunny bnusunny requested a review from a team as a code owner December 16, 2024 08:18
return (start..=end).collect::<Vec<_>>();
}
}
vec![]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe better to print a warning if the env var format is incorrect.

}
vec![]
} else {
part.parse::<u16>().map_or(vec![], |code| vec![code])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the above, suggest to add a warning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Force lambda failure
2 participants