mirror of
https://github.com/hanzoai/goa.git
synced 2026-09-30 21:55:10 +00:00
One Module/Engine interface with a JSON-in/JSON-out calling convention runs four pure-Go engines behind a Pool that makes single-threaded interpreters serve requests as parallel goroutines: native plain Go handlers, zero overhead goja + esbuild JavaScript and TypeScript (TS transpiled to ES2020) gpython Python, no cgo and no GIL -> true goroutine parallelism wazero Rust/WASM via a trivial string ABI Services mount from a manifest (lang + source + routes), so any Go, Python, Rust or JS backend collapses into a single static CGO_ENABLED=0 binary served on the zip/gofiber app. A Go-backed json stdlib shim lets Python backends keep importing the real module names while running at Go speed. Examples and tests cover every engine; the Rust guest is a real wasm32 fixture exercised end to end.
11 lines
198 B
JSON
11 lines
198 B
JSON
{
|
|
"name": "echo-rust",
|
|
"lang": "rust",
|
|
"source": "echo-rust/echo.wasm",
|
|
"pool": 8,
|
|
"prefix": "/v1/echo-rust",
|
|
"routes": [
|
|
{ "method": "POST", "path": "/echo", "func": "echo" }
|
|
]
|
|
}
|