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

Projects
None yet
3 participants
@rossabaker
Member

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

This comment has been minimized.

Member

cquiroz commented Oct 2, 2018

As a concept i totally support this

@rossabaker

This comment has been minimized.

Member

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.

@jmcardon

LGTM. I agree it was awkward.

@jmcardon

This comment has been minimized.

Member

jmcardon commented Oct 2, 2018

whoops, double approval was accident.

@rossabaker rossabaker merged commit e0dbb4a into http4s:master Oct 2, 2018

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