diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-20 03:53:17 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-20 03:53:17 -0300 |
| commit | f1b53c1533539aecbf16ad19fd9156deae091f92 (patch) | |
| tree | 38ff00810ef5e0ad271c26e218cf6af4578c71ce /README.md | |
| parent | ba7ec40782ba7020d82a56896a5eb1b52578d6aa (diff) | |
| download | cloud9-f1b53c1533539aecbf16ad19fd9156deae091f92.tar.gz cloud9-f1b53c1533539aecbf16ad19fd9156deae091f92.zip | |
9web: multiplexer, HTTP view of the tree, live streams, richer page
One upstream 9P connection now serves any number of browser WebSocket
sessions and, with --serve, plain 9P clients over TCP or Unix (a 9pserve-
style frame remux: tags and fids remapped, Tflush forwarded, reconnect on
upstream loss). /fs/<path> maps HTTP onto the tree: GET file or directory
(JSON or HTML), Range, HEAD with 9P headers, PUT (create, truncate, append,
trailing slash makes a directory), DELETE, and ?follow=1 or text/event-stream
turning a blocking read into server-sent events with Tflush on disconnect.
The page gains a lazy tree, stat panel, create, rename, delete, upload and
follow mode. --probe embeds 9proc for self-introspection. New mux-test and
http-fs-test steps; e2e still passes.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -100,9 +100,17 @@ own sources, tests, README and a `build.zig` fragment that the root `build.zig` imports and enables with a `-D<name>` toggle (`zig build --help` lists the steps). New related programs follow the same layout. -* [`web/`](docs/http.md) — the HTTP/WebSocket gateway `9web` and its - WebAssembly browser client (`web/main.zig`, `web/client.zig`, assets under - `web/static/`). Always built; steps `serve`, `web`, `http-test`, `e2e`. +* [`web/`](docs/http.md) — the HTTP/WebSocket gateway `9web`, a 9P + multiplexer and its WebAssembly browser client (`web/main.zig`, + `web/mux.zig`, `web/httpfs.zig`, `web/probe.zig`, `web/client.zig`, assets + under `web/static/`). It holds one upstream 9P connection and fans it out to + many downstreams: the browser over a WebSocket, plain 9P clients over an + optional `--serve` TCP/Unix listener (a mux like 9pserve), and an HTTP view + of the tree under `/fs/` (`GET`/`PUT`/`DELETE`, directory JSON, `Range`, and + `?follow=1` server-sent events). `--probe` embeds 9proc for + self-introspection. The page adds a tree view, create/rename/delete, upload, + a stat panel and live follow. Always built; steps `serve`, `web`, + `http-test`, `mux-test`, `http-fs-test`, `e2e`. * [`9proc/`](9proc/README.md) — a 9P debug/introspection server as a library (module `9proc`, exported next to `cloud9`; freestanding core that is a backend of `fs.Server`, Linux debug layer) and its demo |
