Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/umstek/edge-comments
Comments engine on the edge with Cloudflare
https://github.com/umstek/edge-comments
cloudflare cloudflare-worker rust wasm webassembly workers-kv
Last synced: 3 months ago
JSON representation
Comments engine on the edge with Cloudflare
- Host: GitHub
- URL: https://github.com/umstek/edge-comments
- Owner: umstek
- License: mit
- Created: 2021-03-14T10:52:02.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-17T02:36:54.000Z (3 months ago)
- Last Synced: 2024-11-17T03:25:28.868Z (3 months ago)
- Topics: cloudflare, cloudflare-worker, rust, wasm, webassembly, workers-kv
- Language: Rust
- Homepage:
- Size: 30.3 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Edge Comments (WIP)
This is a convention based thin wrapper around cloudflare workers kv (key-value) infrastructure written in Rust.
Store any data at path: `POST /path/to/data` with `Content-Type: text/plain` body.
Get data at path: `GET /path/to/data` as `text/plain` response.
List all keys by prefix: `GET /path/to/` (note the trailing slash) as newline (`"\n"`) delimited `text/plain` response. This contains all keys that start with `/path/to/`.For example, if you have 3 blogs you can store comments like:
`/blog3/my-post-slug/comment-id/reply-id/second-level-reply`I haven't added authentication yet. This should be an origin block and preferably some form of user authentication.
## References
Bootstrapped using [`workers-rs`](https://github.com/cloudflare/workers-rs).
This template is designed for compiling Rust to WebAssembly and publishing the resulting worker to
Cloudflare's [edge infrastructure](https://www.cloudflare.com/network/).## Usage
Core logic is inside `src/lib.rs` file, acting as an entrypoint for requests hitting
the Worker.With `wrangler`, you can build, test, and deploy your Worker with the following commands:
```bash
# compiles your project to WebAssembly and will warn of any issues
wrangler build# run your Worker in an ideal development workflow (with a local server, file watcher & more)
wrangler dev# deploy your Worker globally to the Cloudflare network (update your wrangler.toml file for configuration)
wrangler publish
```Read the latest `worker` crate documentation here: https://docs.rs/worker
## WebAssembly
`workers-rs` (the Rust SDK for Cloudflare Workers used in this template) is meant to be executed as
compiled WebAssembly, and as such so **must** all the code you write and depend upon. All crates and
modules used in Rust-based Workers projects have to compile to the `wasm32-unknown-unknown` triple.Read more about this on the [`workers-rs` project README](https://github.com/cloudflare/workers-rs).
## Issues
For issues with the `edge-comments` project itself, [open an issue here](https://github.com/umstek/edge-comments/issues).
If you have any problems with the `worker` crate, please open an issue on the upstream project
issue tracker on the [`workers-rs` repository](https://github.com/cloudflare/workers-rs).