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

Implement WebSockets protocol binding #84

Open
slinkydeveloper opened this issue Oct 8, 2020 · 5 comments
Open

Implement WebSockets protocol binding #84

slinkydeveloper opened this issue Oct 8, 2020 · 5 comments
Labels
enhancement New feature or request good first issue Good for newcomers hacktoberfest

Comments

@slinkydeveloper
Copy link
Member

I would love to look at implementing https://github.com/cloudevents/spec/blob/master/websockets-protocol-binding.md for one of our integrations (maybe actix?)

@slinkydeveloper slinkydeveloper added enhancement New feature or request good first issue Good for newcomers hacktoberfest labels Oct 8, 2020
@nguyenquannnn
Copy link

Hey I would love to take a dig at this issue for Hactoberfest!

@slinkydeveloper
Copy link
Member Author

Go ahead! I think we want to use actix-web for the protocol binding https://actix.rs/docs/websockets/, so you can just modify the cloudevents-sdk-actix-web crate adding the new stuff in there.

A first step is to implement the message serializer/deserializer for the websockets data structures. Then, we need to figure out the apis (we can do that in 2 PRs)

@nguyenquannnn
Copy link

Hey @slinkydeveloper, currently WIP, taking time since this domain is new to me :D But I want to ask, from the spec of websocket, are we supporting the binary frame streaming (avro event format)?

@slinkydeveloper
Copy link
Member Author

@nguyenquannnn I think, for now, just the text format is fine, since this sdk just supports json conversion

@No9
Copy link
Contributor

No9 commented May 15, 2021

Added a reference web socket implementation to the tide example
a71f661
From what I can see in the spec the only requirement is to implement the upgrade headers but it would be great to get some feedback if someone thinks it can be improved.

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

No branches or pull requests

3 participants