Azure / Azure/azure-sdk-for-rust
[Service Bus] Add AMQP over WebSockets transport
- Dominant language
- Rust
- Stars
- 884
- Forks
- 365
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 109
Description
## Summary
The crate speaks AMQP over TCP on port 5671 only. There is no WebSockets transport, and `ServiceBusClientOptions` has no transport selector.
## Motivation
`ServiceBusTransportType` offers `AmqpTcp` and `AmqpWebSockets`. Callers behind a firewall that allows only port 443 need the WebSockets transport, and it is a common request for both messaging SDKs.
Event Hubs solved the same problem in this repository in PR #4596, so the transport work, the feature flags, and the TLS provider choice are already settled and can be reused.
## Proposal
- Add an AMQP over WebSockets transport on port 443.
- Follow the feature flag layout that Event Hubs adopted in PR #4596.
- Add a transport selector to the client options.
## Dependencies
Blocked by:
- #4940 [Service Bus] Add a recoverable connection and link layer
Sub-issue of #4934.
Contributor guide
Research direction
Start by reviewing ServiceBusClientOptions and ServiceBusTransportType, then study the transport, feature flags, and TLS choices in Event Hubs PR #4596. Check the recoverable connection and link layer from blocked issue #4940 before starting. Done means Service Bus supports the WebSockets transport on port 443 and callers can select it through the client options.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, rust
- Domain
- api, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100