Macaulay2 » Documentation
Packages » JSONRPC » JSONRPCServer » registerMethod
next | previous | forward | backward | up | index | toc

registerMethod -- register a method for a JSON-RPC server

Description

This method registers a method with server. The name parameter is the name of the method that will be exposed in JSON-RPC requests, and f is the function that will be called when the method is invoked. The optional params argument is a list of expected parameter names for the method. If provided, it helps validate the parameters in incoming requests. The function should accept the parameters passed in the request and return the result to be sent back in the response.

i1 : server = new JSONRPCServer

o1 = server

o1 : JSONRPCServer
i2 : registerMethod(server, "sum", plus)
i3 : registerMethod(server, "subtract", {"minuend", "subtrahend"}, difference)
i4 : handleRequest(server, makeRequest("sum", {1, 2, 4}, 1))

o4 = {"result": 7, "jsonrpc": "2.0", "id": 1}
i5 : handleRequest(server, makeRequest("subtract", {42, 23}, 2))

o5 = {"result": 19, "jsonrpc": "2.0", "id": 2}

To see a list of registered methods for a given server, run methods(JSONRPCServer).

i6 : methods server

o6 = {0 => (subtract,minuend,subtrahend)}
     {1 => 1 : (sum)                    }

o6 : NumberedVerticalList

If you would like to deregister a method, then you may use remove(HashTable,Thing).

i7 : remove(server, "sum")

o7 = 1 : (sum)

o7 : JSONRPCMethod
i8 : methods server

o8 = {0 => (subtract,minuend,subtrahend)}

o8 : NumberedVerticalList

Menu

Ways to use registerMethod:

  • registerMethod(JSONRPCServer,String,Function)
  • registerMethod(JSONRPCServer,String,List,Function)

For the programmer

The object registerMethod is a method function.


The source of this document is in JSONRPC.m2:301:0.