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

support parameters for channel address. #555

Closed
5 tasks
KhudaDad414 opened this issue Oct 27, 2023 · 2 comments
Closed
5 tasks

support parameters for channel address. #555

KhudaDad414 opened this issue Oct 27, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@KhudaDad414
Copy link
Member

Problem

With the introduction of parameters for channel addresses in AsyncAPI spec v3, users have the flexibility to define dynamic parts in the channel address. This feature is currently not supported in Glee, meaning Glee can't utilize or understand these parameterized channels.


Solution

Introduce support for parsing and utilizing channel address parameters in Glee. When a channel is defined with parameters like:

channels:
  mychannel:
    address: /{userId}/details
    parameters:
      userId:
        description: Id of the user.
        location: $message.payload#/userId
        default: 6f0ca58d-95ac-4817-9e39-9258f5cc75bd

Glee should be able to interpret this and correctly map messages to this dynamically constructed channel address.

Rabbit Holes

parameters mean different things for send and receive operations and not sure how this feature affects different protocols.


Scope

  • support parameters in http client and server.
  • support parameters in websockets client and server.
  • support parameters in socket.io
  • support parameters in kafka.
  • support parameters in mqtt.

Out of Bounds

  • any other improvements and features of spec 3 are outside of the scope.

Success Criteria

  1. Glee should be able to correctly route messages to parameterized channel addresses.
  2. Existing functionality should not be broken; it should be backward compatible.
  3. Unit tests should cover the new features and pass successfully.

By meeting these criteria, we can consider the solution a success.

@KhudaDad414 KhudaDad414 added the enhancement New feature or request label Oct 27, 2023
@fmvilas
Copy link
Member

fmvilas commented Nov 2, 2023

Duplicate of #544?

@KhudaDad414
Copy link
Member Author

Closing since it is a duplicate of #544

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

No branches or pull requests

2 participants