MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / handle_rpc

Function handle_rpc

src/ui/http_server.c:1602–1619  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1600/* ── Handle JSON-RPC request ──────────────────────────────────── */
1601
1602static void handle_rpc(cbm_http_conn_t *c, const cbm_http_req_t *req, cbm_mcp_server_t *mcp) {
1603 if (req->body_len == 0 || req->body_len > MAX_BODY_SIZE || !req->body) {
1604 cbm_http_replyf(c, 400, g_cors_json,
1605 "{\"jsonrpc\":\"2.0\",\"error\":{\"code\":-32600,"
1606 "\"message\":\"invalid request size\"},\"id\":null}");
1607 return;
1608 }
1609
1610 /* req->body is NUL-terminated by the transport */
1611 char *response = cbm_mcp_server_handle(mcp, req->body);
1612
1613 if (response) {
1614 cbm_http_replyf(c, 200, g_cors_json, "%s", response);
1615 free(response);
1616 } else {
1617 cbm_http_replyf(c, 204, g_cors, "%s", "");
1618 }
1619}
1620
1621/* ── Request dispatch ─────────────────────────────────────────── */
1622

Callers 1

dispatch_requestFunction · 0.85

Calls 2

cbm_http_replyfFunction · 0.85
cbm_mcp_server_handleFunction · 0.85

Tested by

no test coverage detected