https://github.com/xi/via
Simple pubsub server inspired by https://patchbay.pub/
https://github.com/xi/via
Last synced: 12 months ago
JSON representation
Simple pubsub server inspired by https://patchbay.pub/
- Host: GitHub
- URL: https://github.com/xi/via
- Owner: xi
- License: mit
- Created: 2020-04-04T06:35:00.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-06-16T07:49:07.000Z (about 1 year ago)
- Last Synced: 2025-06-16T08:48:33.556Z (about 1 year ago)
- Language: Go
- Size: 41 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Via - Simple pubsub server
This is very much inspired by and its clones
[conduit](https://github.com/prologic/conduit) and
[duct](https://github.com/schollz/duct).
## Usage
Start the server:
via [-v] [-d storage_dir] [port]
Then start sending requests on the client:
# start listening for server sent event stream
curl http://localhost:8001/msg/someid
# POST a message
curl http://localhost:8001/msg/someid -d somedata
Use the `hmsg` prefix if you want to keep a history:
# start listening and request any messages you may have missed
curl http://localhost:8001/hmsg/someid -H 'Last-Event-Id: 3'
# POST works just as before
curl http://localhost:8001/hmsg/someid -d somedata
# DELETE deletes the history
curl http://localhost:8001/hmsg/someid -X DELETE
# the history only keeps up to 100 entries
# you can consolidate it by replacing all entries by a single message
# the `historyRemaining` field in POST responses tells you how much space is left
curl http://localhost:8001/hmsg/someid -d combined -H 'Last-Event-Id: 3' -X PUT
You should regularly clean up old files:
find {storage_dir} -type f -mtime +7 -delete
## Differences to patchbay
- no support for MPMC (blocking POST)
- no support for req/res
- no support for blocking GET
- support for [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
- support for passwords
- support for message history