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

Unify org.http4s.websocket package, use ByteVector #2143

Merged
merged 1 commit into from Oct 2, 2018

Conversation

@rossabaker
Copy link
Member

@rossabaker rossabaker commented Oct 2, 2018

The org.http4s.websocket package is awkwardly split across the http4s-websocket repo and http4s-core. No package should ever live in two artifacts.

The reason for the http4s-websocket repo was to share a model between blaze and http4s without adding any dependencies to the former. Since then, the blaze repo dropped websocket support entirely. If we unify it here, we can use a model with all our dependencies. This includes ByteVector, which is back on our classpath since fs2-core again depends on scodec-bits. That gives us an immutable model.

There are all kinds of shady numeric truncations and widenings going on here, and it's worth looking closely at the WebSocketFrame class.

Additionally, standardizes on the WebSocket capitalization in place of Websocket

@rossabaker rossabaker added this to the 0.19.0-RC1 milestone Oct 2, 2018
@cquiroz
Copy link
Member

@cquiroz cquiroz commented Oct 2, 2018

As a concept i totally support this

@rossabaker
Copy link
Member Author

@rossabaker rossabaker commented Oct 2, 2018

We should also release a blaze milestone without the old dependency to ensure that we're no longer using it.

Copy link
Member

@jmcardon jmcardon left a comment

LGTM. I agree it was awkward.

@jmcardon
Copy link
Member

@jmcardon jmcardon commented Oct 2, 2018

whoops, double approval was accident.

@rossabaker rossabaker merged commit e0dbb4a into http4s:master Oct 2, 2018
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@rossabaker rossabaker deleted the rossabaker:websocket-model branch Oct 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants