@oada/client
A lightweight client tool for interacting with an OADA-compliant server
| @oada/client | @oada/oada-cache |
---|
Language | TypeScript | JavaScript |
Supported protocols | websocket | websocket, HTTP |
Internal cache | No | Yes |
Usage
Connect
const client = require("@oada/client")
const connection = await client.connect({
domain: "api.oada.com",
token: "abc"
})
GET
Single GET
const response = await connection.get({
path: '/bookmarks/test',
timeout: 1000
})
Recursive GET
const dataTree = {
"bookmarks": {
"_type": "application/vnd.oada.bookmarks.1+json",
"_rev": 0,
"thing": {
"_type": "application/json",
"_rev": 0,
"abc": {
"*": {
"_type": "application/json",
"_rev": 0,
}
}
}
}
}
const response = await connection.get({
path: '/bookmarks/thing',
tree: dataTree,
timeout: 1000
})
Watch
A watch request can be issued by passing a callback function to watchCallback
argument of a GET request.
const response = await connection.get({
path: '/bookmarks/test',
watchCallback: d => {
console.log(d);
},
timeout: 1000
})
Alternatively, one could explicitly send a watch
request as follows.
const requestId = await connection.watch({
path: '/bookmarks/test',
rev: 1,
watchCallback: d => {
console.log(d);
},
timeout: 1000
})
To unwatch a resource, use the unwatch
request.
const response = await connection.unwatch(requestId);
PUT
Single PUT
const response = await connection.put({
path: "/bookmarks/test",
data: { thing: "abc" },
contentType: "application/json",
timeout: 1000
})
Tree PUT
const dataTree = {
"bookmarks": {
"_type": "application/vnd.oada.bookmarks.1+json",
"_rev": 0,
"thing": {
"_type": "application/json",
"_rev": 0,
"abc": {
"*": {
"_type": "application/json",
"_rev": 0,
}
}
}
}
}
const response = await connection.put({
path: '/bookmarks/thing/abc/xyz/zzz',
tree: dataTree,
data: { test: "something" },
timeout: 1000
})
HEAD
const response = await connection.head({
path: '/bookmarks/test',
timeout: 1000
})