def dispatch.of

ezmcp@0.1.0.0 · src/server.bend:242

import ezmcp@0.1.0.0/src/server.bend as Server
import Base
import emerging-ezjson@1.2.0.0/main.bend as Json
import emerging-ezjson@1.2.0.0/src/value.bend as Value
import ezmcp@0.1.0.0/src/rpc.bend as Rpc

242def dispatch.of(
243  srv: Server,
244  meth: String,
245  params: Value.Json,
246  which: Method
247) -> Step:
248  match which:
249    case Initialize{}:
250      Now{Rpc.Ok{init(srv, params)}}
251    case Ping{}:
252      Now{Rpc.Ok{Json.obj([])}}
253    case ListTools{}:
254      Now{Rpc.Ok{list(srv)}}
255    case CallTool{}:
256      call(srv, params)
257    case Other{}:
258      Now{Rpc.Err{Rpc.MethodNotFound{}, "Method not found: " ++ meth}}

Uses (13)

Used by (1)