websockets
December 26, 2023 · View on GitHub
Provides a sensible, clean and simple way to write WebSocket server and client in Haskell.
Features
- Provides Server/Client implementations of the websocket protocol
withPingPonghelper for stale connection checking- TLS support via wuss package
Caveats
senddoesn't support streaming- Requires careful handling of exceptions
- DeflateCompression isn't thread-safe
Introduction
See server and client implementations.
Installation
Using cabal:
$ cabal install websockets
Authors
An initial WebSockets library was written in 2010 by Siniša Biđin. In 2011, it was rewritten from scratch, and extended to its current state by Jasper Van der Jeugt, who is also the current maintainer.
Contributors:
- Alex Lang
- Carl Chatfield
- Fedor Gogolev
- Marcin Tolysz
- Nathan Howell
- Steffen Schuldenzucker
- Yi Huang
- Domen Kožar
Development
Pull requests are always welcome!
This library is production-quality. Therefore we have very high standards in terms of code style, API quality and testing.
We have three kinds of tests:
- Haskell-based tests (
tests/haskell), which use thetest-frameworklibrary - Integration tests, available in
tests/javascript. These require a browser to run. - We also run the extensive autobahn testsuite.