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

Defer downstream filter execution if no OAuth2AuthorizedClient is found #6719

Closed
wants to merge 1 commit into from
Closed

Defer downstream filter execution if no OAuth2AuthorizedClient is found #6719

wants to merge 1 commit into from

Commits on Mar 27, 2019

  1. Defer downstream filter execution if no OAuth2AuthorizedClient is found

    Prior to this change, ServerOAuth2AuthorizedClientExchangeFilterFunction would invoke next.exchange:
    - first at assembly time inside the .switchIfEmpty call.
    - second at execution time inside .flatMap when a OAuth2AuthorizedClient is found.
    
    While this double-call should not technically cause any functional problems, since the Mono returned by the first call will not be subscribed if a OAuth2AuthorizedClient is found,
    it does result in a lot of unnecessary execution and object creation.  There is no technical need to invoke the downstream filters twice.
    
    This change defers the call inside .switchIfEmpty, so that it will only execute at execution time if an OAuth2AuthorizedClient is not found.
    
    After this change, ServerOAuth2AuthorizedClientExchangeFilterFunction will not invoke next.exchange at assembly time, and will only execute next.exchange once per subscription at execution time.
    philsttr committed Mar 27, 2019
    Configuration menu
    Copy the full SHA
    3a9f220 View commit details
    Browse the repository at this point in the history