Difference between revisions of "Mihini/REST API"

From Eclipsepedia

Jump to: navigation, search
(Redirecting to Mihini/Rest)
Line 1: Line 1:
#REDIRECT [[Mihini/Rest]]
+
This page describes the current status of the Mihini REST service
 +
 
 +
 
 +
== Specifications ==
 +
 
 +
 
 +
 
 +
=== Returned values ===
 +
 
 +
Each REST function returns the same value as the function to which it corresponds, except that it is serialized with JSON
 +
 
 +
== API ==
 +
 
 +
See below a list of the current Lua API with their corresponding REST API
 +
 
 +
=== Devicetree ===
 +
 
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
|-
 +
! Module API
 +
! REST URL
 +
! HTTP method
 +
! HTTP payload
 +
|-
 +
| devicetree.get("node.subnode.leaf")
 +
| devicetree/node/subnode/leaf
 +
| GET
 +
| Nothing
 +
|-
 +
| devicetree.set("node.subnode.leaf", "myvalue")
 +
| devicetree/node/subnode/leaf
 +
| PUT
 +
| The new value of "node.subnode.leaf" serialiazed with JSON
 +
|}
 +
 
 +
=== Application container  ===
 +
 
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
|-
 +
! Module API
 +
! REST URL
 +
! HTTP method
 +
! HTTP payload
 +
|-
 +
| appcon.list()
 +
| application
 +
| GET
 +
| Nothing
 +
|-
 +
| appcon.status("id")
 +
| application/id
 +
| GET
 +
| Nothing
 +
|-
 +
| appcon.start("id")
 +
| application/id/start
 +
| PUT
 +
| Nothing
 +
|-
 +
| appcon.stop("id")
 +
| application/id/stop
 +
| PUT
 +
| Nothing
 +
|-
 +
| appcon.configure("id", autostart)
 +
| application/id/configure
 +
| PUT
 +
| A boolean value corresponding to "autostart" and serialized with JSON
 +
|}
 +
 
 +
=== Update ===
 +
 
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
|-
 +
! Module API
 +
! REST URL
 +
! URL parameter
 +
! HTTP method
 +
! HTTP payload
 +
|-
 +
| update.localupdate(path, sync)
 +
| update/
 +
| sync=[0-1] (optional, asynchronous by default)
 +
| POST
 +
| The tar archive sent as binary data in a http chunked request
 +
|-
 +
| update.getstatus()
 +
| update/
 +
| sync=[0-1] (optional, asynchronous by default)
 +
| GET
 +
| Nothing
 +
|}
 +
 
 +
== Configuration ==
 +
 
 +
Everything is configurable in the config store
 +
 
 +
=== defaultconfig.lua ===
 +
<pre style="width: 45em;">
 +
-- REST related settings
 +
rest = {}
 +
rest.activate = true
 +
rest.port = 8357
 +
</pre>
 +
 
 +
=== Lua shell ===
 +
<pre style="width: 45em;">
 +
$ telnet localhost 2000
 +
> :agent.config.rest.activate
 +
true
 +
> :agent.config.rest.port
 +
8357
 +
</pre>
 +
 
 +
== Suggestions ==
 +
 
 +
Feel free to send your feedbacks on the Mihini mailing list, suggestions for improvements are always welcome

Revision as of 03:37, 2 August 2013

This page describes the current status of the Mihini REST service


Contents

Specifications

Returned values

Each REST function returns the same value as the function to which it corresponds, except that it is serialized with JSON

API

See below a list of the current Lua API with their corresponding REST API

Devicetree

Module API REST URL HTTP method HTTP payload
devicetree.get("node.subnode.leaf") devicetree/node/subnode/leaf GET Nothing
devicetree.set("node.subnode.leaf", "myvalue") devicetree/node/subnode/leaf PUT The new value of "node.subnode.leaf" serialiazed with JSON

Application container

Module API REST URL HTTP method HTTP payload
appcon.list() application GET Nothing
appcon.status("id") application/id GET Nothing
appcon.start("id") application/id/start PUT Nothing
appcon.stop("id") application/id/stop PUT Nothing
appcon.configure("id", autostart) application/id/configure PUT A boolean value corresponding to "autostart" and serialized with JSON

Update

Module API REST URL URL parameter HTTP method HTTP payload
update.localupdate(path, sync) update/ sync=[0-1] (optional, asynchronous by default) POST The tar archive sent as binary data in a http chunked request
update.getstatus() update/ sync=[0-1] (optional, asynchronous by default) GET Nothing

Configuration

Everything is configurable in the config store

defaultconfig.lua

-- REST related settings
rest = {}
rest.activate = true
rest.port = 8357

Lua shell

$ telnet localhost 2000
> :agent.config.rest.activate
true
> :agent.config.rest.port
8357

Suggestions

Feel free to send your feedbacks on the Mihini mailing list, suggestions for improvements are always welcome