Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaspervdj/websockets
A Haskell library for creating WebSocket-capable servers
https://github.com/jaspervdj/websockets
Last synced: about 1 month ago
JSON representation
A Haskell library for creating WebSocket-capable servers
- Host: GitHub
- URL: https://github.com/jaspervdj/websockets
- Owner: jaspervdj
- License: bsd-3-clause
- Created: 2011-09-08T17:56:52.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-05-19T09:49:09.000Z (about 1 month ago)
- Last Synced: 2024-05-19T10:38:43.240Z (about 1 month ago)
- Language: Haskell
- Homepage: http://jaspervdj.be/websockets
- Size: 912 KB
- Stars: 403
- Watchers: 16
- Forks: 113
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
Lists
- awesome-websockets - Websockets - A Haskell library for creating WebSocket-capable servers. (Tools per Language / Haskell)
- awesome-websockets - Websockets - A Haskell library for creating WebSocket-capable servers. (Tools per Language / Haskell)
README
# websockets
![Hackage Version](https://img.shields.io/hackage/v/websockets)
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/jaspervdj/websockets/ci.yml)Provides a sensible, clean and simple way to write WebSocket
server and client in Haskell.## Features
- Provides Server/Client implementations of the websocket protocol
- `withPingPong` helper for stale connection checking
- TLS support via [wuss](https://hackage.haskell.org/package/wuss) package## Caveats
- [`send` doesn't support streaming](https://github.com/jaspervdj/websockets/issues/119)
- [Requires careful handling of exceptions](https://github.com/jaspervdj/websockets/issues/48)
- [DeflateCompression isn't thread-safe](https://github.com/jaspervdj/websockets/issues/208)## Introduction
See [server](./example/server.lhs) and [client](./example/client.hs) 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 the `test-framework` library
- Integration tests, available in `tests/javascript`. These require a browser to
run.
- We also run the extensive [autobahn testsuite].[autobahn testsuite]: https://github.com/crossbario/autobahn-testsuite