HTTP Protocols

HTTP is a heavily used method of communication since it allows for future expansion into other language and server technologies. Following are the different services that are supported. These are currently implemented using the HTTP Interface plugin model.

===Logon===
The logon protocol is used to authenticate a user.

URL command syntax:

Path: /logon
Parameters:
*name - username
*password - password

Returns:
*success - Success
*failure - Failure

=== Display ===
The display protocol is used to send information for display purposes.

URL command syntax:

Path: /display

Parameters:
*name - name that maps to display control
*value - value to be displayed

Returns:
nothing

===Sound===
The sound protocol is used to request sound files to be played on an attached audio device.

URL command syntax:

Path: /sound

Parameters:
* filename - name of the sound file
* loop - variable indicating the the sound should be repeated

Returns:
nothing

===Speech===
The speech protocol is used to request speech.

URL command syntax:

Path: /speech

Parameters:
* command - [ say ]
* text - Text to be spoken
* voice - Name of voice to be used: ["Microsoft Sam", "Microsoft Bob", "Microsoft Mary"]

Returns:
OK

===Privileges===
The privileges protocol provides a system of looking up roles and permissions assigned to a user.

URL command syntax:

Path: /Roles

Parameters:
* command - The node to access [PersonRoles, RoleModules]
* id - The id of the element to be selected. In the case of PersonRoles, it is a person id, and in the case of RoleModules it is the role id.

Returns:
The XML tag matching the section node and the id.

===Script===
The script service provides a system of calling other HTTP services from a script file.

URL command syntax:

Path: /script

Parameters:
* scriptname - The name of the [[documentation:script_file]] to execute.

Example: [[http://localhost/script/scriptname=test.txt]]

Returns: nothing