eventsourced alternatives and similar packages
Based on the "Networking" category.
Alternatively, view eventsourced alternatives based on common mentions on social networks and blogs.
-
websockets
A Haskell library for creating WebSocket-capable servers -
snap-core
Core type definitions (Snap monad, HTTP types, etc) and utilities for web handlers. -
snap-server
A fast HTTP server library, which runs Snap web handlers. -
call-haskell-from-anything
Call Haskell functions from any programming language via serialization and dynamic libraries -
PortFusion
Haskell-powered cross-platform transport-layer distributed reverse / forward proxy & tunneling solution – currently available for all TCP protocols (RDP, VNC, HTTP(S), SSH, ...). -
io-streams
Simple, composable, and easy-to-use stream I/O for Haskell -
network-transport-zeromq
ZeroMQ transport for distributed-process (aka Cloud Haskell) -
HaskellNet
Haskell library which provides client support for POP3, SMTP, and IMAP protocols. -
glirc
Haskell IRC library and console client - Join us on libera.chat #glirc -
http-streams
Haskell HTTP client library for use with io-streams -
graphula
A simple interface for generating persistent data and linking its dependencies -
http-types
Generic HTTP types for Haskell (for both client and server code) -
ngx-export
Nginx module for binding Haskell code in configuration files for great good! -
secure-sockets
A library for making secure connections between servers. -
network-transport-tcp
TCP Realisation of Network.Transport -
linklater
A Haskell library for the Slack API (including real-time messaging!) -
http-client-streams
http-client for io-streams supporting openssl
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of eventsourced or a related project?
README
eventsourced
eventsourced
streams stdin to a TCP/IP port as text/event-source
.
Installation
If you're on OS X you can install the latest binary with homebrew:
brew install richardTowers/tap/eventsourced
If you're on another platform or would prefer to install from source, you can install from cabal with:
cabal install eventsourced
Usage
On the server:
$ ping example.com | eventsourced --port=1337 --allow-origin=localhost
In the browser:
> new EventSource('http://0.0.0.0:1337').onmessage = e => console.log(e.data)
PING example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=50 time=86.586 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=50 time=89.107 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=50 time=88.805 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=50 time=88.843 ms
64 bytes from 93.184.216.34: icmp_seq=4 ttl=50 time=89.181 ms
64 bytes from 93.184.216.34: icmp_seq=5 ttl=50 time=89.159 ms
64 bytes from 93.184.216.34: icmp_seq=6 ttl=50 time=87.214 ms
...
Inspiration
This is similar in spirit to joewalnes/websocketd, but instead of two-way communication it is just one-way.
It was inspired by this post https://medium.com/@joewalnes/tail-f-to-the-web-browser-b933d9056cc
Ever wanted to pipe “tail -f” to a web-page? Here’s a one liner…
$ (echo -e ‘HTTP/1.1 200 OK\nAccess-Control-Allow-Origin: *\nContent-type: text/event-stream\n’ && tail -f /path/to/some/file | sed -u -e ‘s/^/data: /;s/$/\n/’) | nc -l 1234
eventsourced
is a (slightly) more rigorous way of doing the same thing.