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}}