Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Route catalogue

Every HTTP route Rustybin serves is described once, in a route catalogue (src/catalog.rs plus a catalog() function in each module): path, methods, category, summary, an optional description and runnable examples. Everything user-facing is generated from it:

Generated viewWhere
Landing page with a runnable example per endpointGET /
Collection exports (Postman, Insomnia, Bruno, curl, .http, Hurl, k6, HAR)GET /export/*, see Collection exports
Endpoint tables in README.mdcargo run -- --print-endpoints-markdown
The web console's API explorerGET /_rustybin/catalog (see Web console)

The OpenAPI document (/openapi.json, /openapi.yaml, rendered at /docs) is assembled from per-module fragments, and tests keep it aligned with the catalogue.

Consistency tests fail the build when:

  • a .route("...") registered in the source is missing from the catalogue;
  • a catalogue path (or one of its methods) is missing from the OpenAPI document;
  • a catalogue example returns 404 or 405 against the full application (examples that legitimately answer another status declare it).

So the landing page and exports never advertise a route that does not exist, and no route exists without documentation. The gRPC service is not an HTTP route: it is described in gRPC and by server reflection.

Categories, in display order: Echo & Reflection, Status Codes, Response Shaping, Streaming (SSE), Redirects & Cookies, Info & Random, Auth: Basic & API Key, Auth: HMAC, Auth: JWT, Auth: OIDC Provider, Auth: mTLS, AI: OpenAI-compatible, AI: Anthropic-compatible, AI: Mock LLM, AI: Guardrails, MCP Server, A2A Agents, GraphQL, Orchestration, SOAP / XML, WebSocket, Reliability Testing, Request Bin & Webhooks, Health & Identity, Control Plane, Docs & Exports.