1.3 KiB
1.3 KiB
Kordophone Mock Server (Go)
A lightweight mock of the Kordophone macOS server for local development and tests. It emulates the REST API and updates stream, and seeds itself with sample conversations/messages/attachments.
Build & Run
Requirements: Go 1.20+
cd mock
go run ./... # quick run
# or build a binary
make # outputs ./kordophone-mock
./kordophone-mock
Flags:
--debug— enable debug logging--auth— require authentication (Bearer token via/authenticate)
Listens on http://localhost:5738 by default.
API Surface (mocked)
GET /version— server versionGET /status— status (requires auth when enabled)GET /conversations— list conversationsGET /messages?guid=...&beforeDate=...&beforeMessageGUID=...&afterMessageGUID=...&limit=...— list messagesPOST /authenticate— exchange username/password for a bearer token (when--auth)POST /sendMessage— send a messagePOST /markConversation?guid=...— mark readGET /attachment?guid=...— download attachmentPOST /uploadAttachment?filename=...— upload attachmentGET /pollUpdates?seq=...— long‑poll for updatesGET /updates— WebSocket updates
Note: /api/* paths are redirected to the same endpoints for compatibility.