Private
Public Access
1
0
Files
Kordophone/mock/README.md
2025-09-06 19:52:37 -07:00

1.3 KiB
Raw Blame History

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 version
  • GET /status — status (requires auth when enabled)
  • GET /conversations — list conversations
  • GET /messages?guid=...&beforeDate=...&beforeMessageGUID=...&afterMessageGUID=...&limit=... — list messages
  • POST /authenticate — exchange username/password for a bearer token (when --auth)
  • POST /sendMessage — send a message
  • POST /markConversation?guid=... — mark read
  • GET /attachment?guid=... — download attachment
  • POST /uploadAttachment?filename=... — upload attachment
  • GET /pollUpdates?seq=... — longpoll for updates
  • GET /updates — WebSocket updates

Note: /api/* paths are redirected to the same endpoints for compatibility.