Mjsonrpc: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| No edit summary | No edit summary | ||
| Line 1: | Line 1: | ||
| This page is a placeholder for the documentation of the MIDAS JSON RPC interface. | |||
| test | test | ||
| Line 7: | Line 9: | ||
| </pre> | </pre> | ||
| <pre> | |||
| ------------------------------------------------------------------------ | |||
| |- | Autogenerated schema for all MIDAS JSON-RPC methods | ||
| ------------------------------------------------------------------------ | |||
| cm_exist?      | calls MIDAS cm_exist() to check if given MIDAS program is running | |||
| |- |                | ------------------------------------------------------- | ||
| || |                | params   | name           | string         | name of the program, corresponding to ODB /Programs/name | ||
| |- |                |          | unique?        | bool           | bUnique argument to cm_exist() | ||
| |  |                | ------------------------------------------------------- | ||
| | |                | result   | status         | integer        | return status of cm_exist() | ||
| |- | ------------------------------------------------------------------------ | ||
| cm_shutdown?   | calls MIDAS cm_shutdown() to stop given MIDAS program | |||
| |- |                | ------------------------------------------------------- | ||
| | ||  |                | params   | name           | string         | name of the program, corresponding to ODB /Programs/name | ||
| |- |                |          | unique?        | bool           | bUnique argument to cm_shutdown() | ||
|                | ------------------------------------------------------- | |||
| |- |                | result   | status         | integer        | return status of cm_shutdown() | ||
| | ||  | ------------------------------------------------------------------------ | ||
| |- | db_copy?       | get copies of given ODB subtrees in the "save" json encoding | ||
| || |                | ------------------------------------------------------- | ||
| |- |                | params   | paths[]        | array of ODB subtree paths, see note on array indices | ||
| |  |                |          |                | array of       | string  | ||
| | |                | ------------------------------------------------------- | ||
| |- |                | result   | data[]         | copy of ODB data for each path | ||
|                |          |                | array of       | object   | |||
| |- |                |          | status[]       | return status of db_copy_json() for each path | ||
| | || - ||  |                |          |                | array of       | integer | ||
| |- |                |          | last_written[] | last_written value of the ODB subtree for each path | ||
|                |          |                | array of       | number  | |||
| |- | ------------------------------------------------------------------------ | ||
| | ||  | db_create?     | get copies of given ODB subtrees in the "save" json encoding | ||
| |- |                | ------------------------------------------------------- | ||
| || |                | params[] | array of ODB paths to be created | ||
| |- |                |          | array of       | arguments to db_create() and db_resize() | ||
| |  |                |          |                | path           | string  | ODB path | ||
| | |                |          |                | type           | integer | MIDAS TID_xxx type | ||
| |- |                |          |                | array_length?  | integer | optional array length, default is 1 | ||
|                |          |                | string_length? | integer | for TID_STRING, optional string length, default is NAME_LENGTH | |||
| |- |                | ------------------------------------------------------- | ||
| | ||  |                | result   | status[]       | return status of db_create() for each path | ||
| |- |                |          |                | array of       | integer | ||
| ------------------------------------------------------------------------ | |||
| |- | db_get_values? | get values of ODB data from given subtrees | ||
| | ||  |                | ------------------------------------------------------- | ||
| |- |                | params   | paths[]        | array of ODB subtree paths, see note on array indices | ||
| | ||  |                |          |                | array of       | string  | ||
| |- |                | ------------------------------------------------------- | ||
| | ||  |                | result   | data[]         | values of ODB data for each path, all key names are in lower case, all symlinks are followed | ||
|                |          |                | array of       | any     | |||
|                |          | status[]       | return status of db_copy_json() for each path | |||
|                |          |                | array of       | integer | |||
|                |          | last_written[] | last_written value of the ODB subtree for each path | |||
|                |          |                | array of       | number  | |||
| ------------------------------------------------------------------------ | |||
| db_paste?      | write data into ODB | |||
|                | ------------------------------------------------------- | |||
|                | params   | paths[]        | array of ODB subtree paths, see note on array indices | |||
|                |          |                | array of       | string  | |||
|                |          | values[]       | data to be written using db_paste_json() | |||
|                |          |                | array of       | any     | |||
|                | ------------------------------------------------------- | |||
|                | result   | status[]       | return status of db_paste_json() for each path | |||
|                |          |                | array of       | integer | |||
| ------------------------------------------------------------------------ | |||
| get_debug?     | get current value of mjsonrpc_debug | |||
|                | ------------------------------------------------------- | |||
|                | params   | any            | there are no input parameters | |||
|                | ------------------------------------------------------- | |||
|                | result   | integer        | current value of mjsonrpc_debug | |||
| ------------------------------------------------------------------------ | |||
| get_schema?    | Get the MIDAS JSON-RPC schema JSON object | |||
|                | ------------------------------------------------------- | |||
|                | params   | any            | there are no input parameters | |||
|                | ------------------------------------------------------- | |||
|                | result   | object         | returns the MIDAS JSON-RPC schema JSON object | |||
| ------------------------------------------------------------------------ | |||
| null?          | RPC method always returns null | |||
|                | ------------------------------------------------------- | |||
|                | params   | any            | method parameters are ignored | |||
|                | ------------------------------------------------------- | |||
|                | result   | null           | always returns null | |||
| ------------------------------------------------------------------------ | |||
| set_debug?     | set new value of mjsonrpc_debug | |||
|                | ------------------------------------------------------- | |||
|                | params   | integer        | new value of mjsonrpc_debug | |||
|                | ------------------------------------------------------- | |||
|                | result   | integer        | new value of mjsonrpc_debug | |||
| ------------------------------------------------------------------------ | |||
| start_program? | start MIDAS program defined in ODB /Programs/name | |||
|                | ------------------------------------------------------- | |||
|                | params   | name           | string         | name of the program, corresponding to ODB /Programs/name | |||
|                | ------------------------------------------------------- | |||
|                | result   | status         | integer        | return status of ss_system() | |||
| ------------------------------------------------------------------------ | |||
| user_example1? | example of user defined RPC method that returns up to 3 results | |||
|                | ------------------------------------------------------- | |||
|                | params   | arg            | string         | example string argment | |||
|                |          | optional_arg?  | integer        | optional example integer argument | |||
|                | ------------------------------------------------------- | |||
|                | result   | string         | string         | returns the value of "arg" parameter | |||
|                |          | integer        | integer        | returns the value of "optional_arg" parameter | |||
| ------------------------------------------------------------------------ | |||
| user_example2? | example of user defined RPC method that returns more than 3 results | |||
|                | ------------------------------------------------------- | |||
|                | params   | arg            | string         | example string argment | |||
|                |          | optional_arg?  | integer        | optional example integer argument | |||
|                | ------------------------------------------------------- | |||
|                | result   | string1        | string         | returns the value of "arg" parameter | |||
|                |          | string2        | string         | returns "hello" | |||
|                |          | string3        | string         | returns "world!" | |||
|                |          | value1         | integer        | returns the value of "optional_arg" parameter | |||
|                |          | value2         | number         | returns 3.14 | |||
| ------------------------------------------------------------------------ | |||
| user_example3? | example of user defined RPC method that returns an error | |||
|                | ------------------------------------------------------- | |||
|                | params   | arg            | integer        | integer value, if zero, throws a JSON-RPC error | |||
|                | ------------------------------------------------------- | |||
|                | result   | status         | integer        | returns the value of "arg" parameter | |||
| </pre> | |||
Revision as of 20:16, 11 November 2015
This page is a placeholder for the documentation of the MIDAS JSON RPC interface.
test
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","id":null,"method":"db_get_values","params":{"paths":["/runinfo/run number"]}}' 'http://localhost:8080?mjsonrpc'
{"jsonrpc": "2.0","result":{"data":[324],"status":[1],"last_written":[1443570804]},"id":null}
$ 
------------------------------------------------------------------------
Autogenerated schema for all MIDAS JSON-RPC methods
------------------------------------------------------------------------
cm_exist?      | calls MIDAS cm_exist() to check if given MIDAS program is running
               | -------------------------------------------------------
               | params   | name           | string         | name of the program, corresponding to ODB /Programs/name
               |          | unique?        | bool           | bUnique argument to cm_exist()
               | -------------------------------------------------------
               | result   | status         | integer        | return status of cm_exist()
------------------------------------------------------------------------
cm_shutdown?   | calls MIDAS cm_shutdown() to stop given MIDAS program
               | -------------------------------------------------------
               | params   | name           | string         | name of the program, corresponding to ODB /Programs/name
               |          | unique?        | bool           | bUnique argument to cm_shutdown()
               | -------------------------------------------------------
               | result   | status         | integer        | return status of cm_shutdown()
------------------------------------------------------------------------
db_copy?       | get copies of given ODB subtrees in the "save" json encoding
               | -------------------------------------------------------
               | params   | paths[]        | array of ODB subtree paths, see note on array indices
               |          |                | array of       | string 
               | -------------------------------------------------------
               | result   | data[]         | copy of ODB data for each path
               |          |                | array of       | object 
               |          | status[]       | return status of db_copy_json() for each path
               |          |                | array of       | integer
               |          | last_written[] | last_written value of the ODB subtree for each path
               |          |                | array of       | number 
------------------------------------------------------------------------
db_create?     | get copies of given ODB subtrees in the "save" json encoding
               | -------------------------------------------------------
               | params[] | array of ODB paths to be created
               |          | array of       | arguments to db_create() and db_resize()
               |          |                | path           | string  | ODB path
               |          |                | type           | integer | MIDAS TID_xxx type
               |          |                | array_length?  | integer | optional array length, default is 1
               |          |                | string_length? | integer | for TID_STRING, optional string length, default is NAME_LENGTH
               | -------------------------------------------------------
               | result   | status[]       | return status of db_create() for each path
               |          |                | array of       | integer
------------------------------------------------------------------------
db_get_values? | get values of ODB data from given subtrees
               | -------------------------------------------------------
               | params   | paths[]        | array of ODB subtree paths, see note on array indices
               |          |                | array of       | string 
               | -------------------------------------------------------
               | result   | data[]         | values of ODB data for each path, all key names are in lower case, all symlinks are followed
               |          |                | array of       | any    
               |          | status[]       | return status of db_copy_json() for each path
               |          |                | array of       | integer
               |          | last_written[] | last_written value of the ODB subtree for each path
               |          |                | array of       | number 
------------------------------------------------------------------------
db_paste?      | write data into ODB
               | -------------------------------------------------------
               | params   | paths[]        | array of ODB subtree paths, see note on array indices
               |          |                | array of       | string 
               |          | values[]       | data to be written using db_paste_json()
               |          |                | array of       | any    
               | -------------------------------------------------------
               | result   | status[]       | return status of db_paste_json() for each path
               |          |                | array of       | integer
------------------------------------------------------------------------
get_debug?     | get current value of mjsonrpc_debug
               | -------------------------------------------------------
               | params   | any            | there are no input parameters
               | -------------------------------------------------------
               | result   | integer        | current value of mjsonrpc_debug
------------------------------------------------------------------------
get_schema?    | Get the MIDAS JSON-RPC schema JSON object
               | -------------------------------------------------------
               | params   | any            | there are no input parameters
               | -------------------------------------------------------
               | result   | object         | returns the MIDAS JSON-RPC schema JSON object
------------------------------------------------------------------------
null?          | RPC method always returns null
               | -------------------------------------------------------
               | params   | any            | method parameters are ignored
               | -------------------------------------------------------
               | result   | null           | always returns null
------------------------------------------------------------------------
set_debug?     | set new value of mjsonrpc_debug
               | -------------------------------------------------------
               | params   | integer        | new value of mjsonrpc_debug
               | -------------------------------------------------------
               | result   | integer        | new value of mjsonrpc_debug
------------------------------------------------------------------------
start_program? | start MIDAS program defined in ODB /Programs/name
               | -------------------------------------------------------
               | params   | name           | string         | name of the program, corresponding to ODB /Programs/name
               | -------------------------------------------------------
               | result   | status         | integer        | return status of ss_system()
------------------------------------------------------------------------
user_example1? | example of user defined RPC method that returns up to 3 results
               | -------------------------------------------------------
               | params   | arg            | string         | example string argment
               |          | optional_arg?  | integer        | optional example integer argument
               | -------------------------------------------------------
               | result   | string         | string         | returns the value of "arg" parameter
               |          | integer        | integer        | returns the value of "optional_arg" parameter
------------------------------------------------------------------------
user_example2? | example of user defined RPC method that returns more than 3 results
               | -------------------------------------------------------
               | params   | arg            | string         | example string argment
               |          | optional_arg?  | integer        | optional example integer argument
               | -------------------------------------------------------
               | result   | string1        | string         | returns the value of "arg" parameter
               |          | string2        | string         | returns "hello"
               |          | string3        | string         | returns "world!"
               |          | value1         | integer        | returns the value of "optional_arg" parameter
               |          | value2         | number         | returns 3.14
------------------------------------------------------------------------
user_example3? | example of user defined RPC method that returns an error
               | -------------------------------------------------------
               | params   | arg            | integer        | integer value, if zero, throws a JSON-RPC error
               | -------------------------------------------------------
               | result   | status         | integer        | returns the value of "arg" parameter