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

feat: allow extension of microservice event and message extras #11426

Merged

Conversation

effervescentia
Copy link
Contributor

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

What is the current behavior?

Ran into this challenge when creating a custom transport strategy. As far as I can tell there's no way to read additional metadata off of our handlers within the strategy itself; we just have access to the extras object.

However, the extras object can only be set when using the @MessagePattern or @EventPattern decorator reliably because they will always override any existing extras.

Issue Number: N/A

What is the new behavior?

With this change the @MessagePattern and @EventPattern decorators will merge their extras with any existing extras found.

In our custom transport framework we have multiple decorators which work the same way as the @HttpCode decorator does for an HTTP transport by adding additional metadata that is respected when handling the request. However for the transport technology we're using we need the metadata at binding time vs when the handler is executed, and the extras object is the only metadata available at binding time

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@coveralls
Copy link

Pull Request Test Coverage Report for Build e9fc9f40-fb07-41c8-884f-da34d1cc6418

  • 2 of 2 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 92.656%

Totals Coverage Status
Change from base Build b4486135-0013-4698-a48a-710679c45132: 0.0%
Covered Lines: 6498
Relevant Lines: 7013

💛 - Coveralls

@kamilmysliwiec
Copy link
Member

LGTM

@kamilmysliwiec kamilmysliwiec merged commit 4be791f into nestjs:master Apr 5, 2023
@effervescentia effervescentia deleted the feat/extend-microservice-extras branch April 5, 2023 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants