WebTransport support
I have checked the following:
- [x] I've searched existing issues and found nothing related to my issue.
This feature
- [x] blocks me from using Bruno
- [x] would improve my quality of life in Bruno
- [x] is something I've never seen an API client do before
Describe the feature you want to add, and how it would change your usage of Bruno
Add WebTransport support to use this new protocol.
https://w3c.github.io/webtransport/
Actually implemented in Chrome & Firefox browsers.
https://caniuse.com/webtransport
Mockups or Images of the feature
WebTranport is UDP based over QUIC (HTTP/3)
It is the more performant transport protocol, available in browser.
@oopen Thanks for raising this feature request. We will look into it. Just to confirm, do any API clients support this? If so, please let us know how you are using it.
@Pragadesh44-Bruno I see elsewhere Postman support it, but after checking it was wrong.
There is actually (after doing search) no GUI supporting this new feature.
(I edit the feature request)
Additional information to implement it :
- HTTP/REST : Is fundamentally request-response. You send a request, you get one complete response back. This model is very easy to represent in a GUI.
- WebTransport: Is built for low-latency, bidirectional, multiplexed data transfer. It's not a simple request-response model. It uses:
- Streams: Both unidirectional and bidirectional streams for reliable data transfer.
- Datagrams: For unreliable, low-latency messages (like UDP).
A GUI for WebTransport would need to be more complex. It would need a UI to manage multiple simultaneous streams, display data as it arrives in real-time, and handle both reliable (streams) and unreliable (datagrams) data channels. This is a much harder design and engineering problem.
A GUI for WebTransport would need to be more complex. It would need a UI to manage multiple simultaneous streams, display data as it arrives in real-time, and handle both reliable (streams) and unreliable (datagrams) data channels. This is a much harder design and engineering problem.
Yes, I agree.
Thanks for confirming that no API Client supports this. I also found the same result. We will look into this
@Pragadesh44-Bruno Maybe create a separate/related issue for the support for : HTTP/3 , QUIC , h3 protocol primary ?
@oopen Thanks, this will really help in prioritizing the issue. Could you please elaborate on these things so I can create tickets for them?
@Pragadesh44-Bruno Yes,
If we just want WebTransport
we can use this independent lib : https://github.com/fails-components/webtransport
But if we want also the availability to chose the HTTP Version used, here the problems begin.
If I'm right Bruno only relay on Axios to make HTTP calls ?
But for now Axios only support ... HTTP/1.1 https://github.com/axios/axios/issues/6973 As say in this issue, HTTP/2 will come in version 1.x, BUT there is no plan for HTTP/3
I Think it will a great (additional feature request ?) a HTTP version selector :
- HTTP/1.1
- HTTP/2
- HTTP/3
- ALPN (auto negociation)
But this require significant changes, remplacing use of Axios.
@oopen Yes, we are currently relying on Axios to make the requests. I understand the request. Could you please create a new feature request to add an HTTP version selector? And thanks for the explanation!
@Pragadesh44-Bruno Hello, I finally made the feature request https://github.com/usebruno/bruno/issues/6102
@oopen Thanks for raising the feature request. I will check with the team on this.