Concorde documentation (crawl) · interactive version

Concorde reference — Local API demos (offline). The Concorde doc site does not call fragile third-party APIs during yarn dev. A Service Worker and the Vite dev middleware serve /docs-mock-api/* on the same origin. Doc ID: docs/_misc/docs-mock-api. Keywords: Concorde, supersoniks, docs/_misc/docs-mock-api, docs-mock-api, Local API demos (offline), reference, yarn dev, /docs-mock-api/*, registerDocsMockApiServiceWorker(), /docs-mock-api-sw.js, /docs-mock-api/..., serviceURL="/docs-mock-api", src/docs/mock-api/urls.ts, DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, /docs-mock-api/api/users. URL: https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html.

Local API demos (offline)

The Concorde doc site does not call fragile third-party APIs during yarn dev. A Service Worker and the Vite dev middleware serve /docs-mock-api/* on the same origin.

How it works

  1. On load, registerDocsMockApiServiceWorker() registers /docs-mock-api-sw.js.
  2. Requests to /docs-mock-api/... are handled by the SW (production build) or Vite middleware (dev).
  3. Live examples use serviceURL="/docs-mock-api" and relative paths.

TypeScript constants: src/docs/mock-api/urls.ts (DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, …).

Routes

Path Used in
/docs-mock-api/api/users sonic-list, sonic-fetch, sonic-queue (users)
/docs-mock-api/api/users/:id Single user, docs-user
POST /docs-mock-api/api/register sonic-submit — JSON, multipart/form-data (sendAsFormData), or application/x-www-form-urlencoded (native <form>); response includes parsed email + token
POST /docs-mock-api/api/register/nested Wrapped body { data: { id, token } } for submit-result-key demo
GET /docs-mock-api/api/register/echo Echoes query string (method="get" on submit)
GET /docs-mock-api/auth/token API configuration — tokenProvider (Basic or eventsApiToken)
GET /docs-mock-api/api/config/protected Bearer / Basic; docs-mock-stale-token498
GET /docs-mock-api/wording/labels Wording batch (labels[], lang)
/docs-mock-api/geo/communes Geo list, @get demos
/docs-mock-api/jokes/joke/:category JokeAPI-shaped list (key="jokes" on queue/list)

Filtres GET /jokes/joke/…

Query Meaning
amount Max jokes per request when not using offset
offset + limit / per_page Pagination for sonic-queue lazy load
contains Substring on joke text, setup/delivery, categories (input demo, name="contains")
lang fr or en — filters the local dataset (select demo, name="lang")
blacklistFlags Comma-separated flags to exclude (nsfw, religious, political, racist, sexist, explicit) — checkbox/radio/switch « Remove following jokes » demos; each joke has matching flags in fixtures

Pagination GET /api/users

Query Meaning
offset + per_page Index-based slice on the filtered set — sonic-queue (offset=$offset&per_page=$limit)
page + per_page 1-based page — static fetch examples (?page=2)
limit Alias of per_page
q Search on first name, last name, email (optional; sonic-queue + dataFilterProvider, field name="q")

ALTCHA (sonic-captcha) is not mocked — it still uses the Supersoniks service.

In TypeScript demos, import from src/docs/mock-api/urls.ts (e.g. DOCS_MOCK_REQRES_SERVICE on serviceURL).

Source files

yarn dev          # mock API on by default
yarn build-docs   # includes SW bundle