[opensource-dev] Client-side scripting REST/HTTP doc sample

Dzonatas Sol dzonatas at gmail.com
Wed Mar 17 10:21:06 PDT 2010


Here is a sample of the REST/HTTP doc for SNOW-375.

SNOW-375 adds a HTTP server in the viewer to be easily accessible by any 
process or client-side script in a language agnostic manner.

I posted this here to hopefully encourage forward movement in 
client-side scripting and to avoid the backpedal and reinventions.

Note: This is tried, tested, and works. This is not just "talk" or 
made-up documentation.

+++++++++++++

SNOW-375: REST/HTTP URI patterns and response summary as of March 2010

All names that appears in angle brackets, <>, are variable.

Note full URI paths used, yet these don't include the 
"http://host:port/" designation.

Example URI: http://localhost:50140/ControlGroup/SavedSettings

All responses are wrapped in LLSD (examples not included in this doc).

Most of these use the GET method, and combined/burst throughput via the 
POST method.

----------------------------
/ControlGroup

Response is a list of control groups.


----------------------------
/ControlGroup/<group>

Response is a list of valid variables in a controlgroup with default 
settings

<group> is currently either "SavedSettings" or "SavedPerAccountSettings"


----------------------------
/ControlGroup/<group>/<identifier>

Response is a detailed and update of current settings for the specific 
variable identified.

<group> is currently either "SavedSettings" or "SavedPerAccountSettings"
<identifier> is a valid variable name from one of the variable control 
groups.


----------------------------
/Agent/Groups

Response is a list with details of groups joined by the connected agent.


----------------------------
/AvatarTracker/Friends

Response is the UUID list of the agent's friends and basic status of each.


----------------------------
/AvatarTracker/Friend/<uuid>

Response is a detailed relationship information for a specified friend UUID.


----------------------------
/GestureManager/Items

Response is a list of UUID of active gestures.


----------------------------
/GestureManager/Item/<uuid>

Response is the details of a MultiGesture structure for the UUID specified.


----------------------------
/Inventory/Item/<uuid>

Response is the details of an inventory item specified by the UUID.


----------------------------
/Inventory/Root

Response is the UUID of the root inventory folder.


----------------------------
/Inventory/Category/<uuid>

Response is the UUIDs of the descendant categories and items of the 
specified UUID.


----------------------------
/Asset/Notecard/<uuid>

Response is the notecard item specified by UUID converted to XML format 
(rather than 'linden notecard format').

----------------------------
/Interface/Connect

POST: Attempt to negotiate a connection to enable the above resources.
* Details of connection steps not included in this doc.

----------------------------
/AvatarTracker/Friend/s
/GestureManager/Item/s
/Inventory/Item/s
/Inventory/Category/s

POST: List of UUIDs for combined query, as above where <uuid> is replace 
with just an "s".
Response: List of combined queries as if each item is an individual 
responses to each UUID.




More information about the opensource-dev mailing list