-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Refactor filtering to improve performance #10167
Conversation
dstepanov
commented
Nov 28, 2023
- Filter runner refactored to enable imperative methods invocation in a loop without multiple lambdas
- Added more unwrapping flow checks for filters and route execution
- Removed a need to have terminal filters
- Changes modified some of the generics and signatures. Filters should work with non-mutable request/response with wildcard body type
http-client-jdk/src/main/java/io/micronaut/http/client/jdk/AbstractJdkHttpClient.java
Outdated
Show resolved
Hide resolved
*/ | ||
protected RequestLifecycle(RouteExecutor routeExecutor, HttpRequest<?> request) { | ||
protected RequestLifecycle(RouteExecutor routeExecutor) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i see it's passed around everywhere now, but what's the point of this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this change, it's clear how the request is processed, because it can be modified it's better to pass it with the flow and avoid mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
brings back the param list inflation RequestLifecycle was made to avoid though...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel the code flow is more transparent and more accessible to understand this way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fair enough
Kudos, SonarCloud Quality Gate passed! |