154 lines
3.5 KiB
JSON
154 lines
3.5 KiB
JSON
|
--->
|
||
|
GET /login HTTP/1.1
|
||
|
Host: master.freeswitch.org
|
||
|
Upgrade: websocket
|
||
|
Connection: Upgrade
|
||
|
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
|
||
|
Sec-WebSocket-Protocol: blade-1.0
|
||
|
Sec-WebSocket-Version: 13
|
||
|
|
||
|
|
||
|
<---
|
||
|
HTTP/1.1 101 Switching Protocols
|
||
|
Upgrade: websocket
|
||
|
Connection: Upgrade
|
||
|
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
|
||
|
Sec-WebSocket-Protocol: blade-1.0
|
||
|
|
||
|
|
||
|
---> CONNECT TO THE MASTER NODE
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"method": "BLADE.connect",
|
||
|
"params": {
|
||
|
"blade": "1.0"
|
||
|
},
|
||
|
"id": 1
|
||
|
}
|
||
|
|
||
|
<--- SUCCESS (TBD FAIL CASE)
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"id": 1,
|
||
|
"result": {
|
||
|
"blade": "1.0",
|
||
|
"connection-state": "connected",
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
"realm-list": [{"realm": "ls1.mydomain.com"}]
|
||
|
"allowed-blapi": ["BLADE"],
|
||
|
}
|
||
|
}
|
||
|
|
||
|
---> REGISTER ADDITIONAL IDENTITY "foobar@ls1.mydomain.com/blah"
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"method": "BLADE.register",
|
||
|
"params": {
|
||
|
"identity": "foobar",
|
||
|
"realm": "ls1.mydomain.com",
|
||
|
"resource": "blah",
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
},
|
||
|
"id": 2
|
||
|
}
|
||
|
|
||
|
<--- SUCCESS (TBD FAIL CASE) messages for this foobar IDENTITY will now go to this node.
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"id": 2,
|
||
|
"result": {
|
||
|
"identity": "foobar",
|
||
|
"realm": "ls1.mydomain.com",
|
||
|
"resource": "blah",
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
}
|
||
|
}
|
||
|
|
||
|
---> REGISTER SUBDOMAIN "myspace.ls1.mydomain.com"
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"method": "BLADE.register",
|
||
|
"params": {
|
||
|
"realm-zone": "myspace",
|
||
|
"realm": "ls1.mydomain.com",
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
},
|
||
|
"id": 3
|
||
|
}
|
||
|
|
||
|
<--- SUCCESS (TBD FAIL CASE) messages for any IDENTITY at "myspace.ls1.mydomain.com" will now go to this node.
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"id": 3,
|
||
|
"result": {
|
||
|
"realm-zone": "myspace",
|
||
|
"realm": "ls1.mydomain.com",
|
||
|
"realm-list": [{"realm": "ls1.mydomain.com", "zones": ["myspace"]}],
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
---> PUBLISH API LSAPI "A single node must have exlusive access to the BLAPI's namespace with the master to publish"
|
||
|
// MAYBE ADD SCHEMA and method to fetch it.
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"method": "BLADE.publish",
|
||
|
"params": {
|
||
|
"blapi": "LSAPI",
|
||
|
"realm": "ls1.mydomain.com",
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
},
|
||
|
"id": 4
|
||
|
}
|
||
|
|
||
|
|
||
|
<--- SUCCESS (TBD FAIL CASE)
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"id": 4,
|
||
|
"result": {
|
||
|
"blapi": "LSAPI",
|
||
|
"allowed-blapi": ["BLADE", "LSAPI"],
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
---> EXECUTE API
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"method": "BLADE.execute",
|
||
|
"params": {
|
||
|
"blapi": "LSAPI",
|
||
|
"params": {
|
||
|
"path": "/tmp/testing"
|
||
|
}
|
||
|
"session-id": "5b696e8d-9875-45a5-b347-3b9fc288bad3",
|
||
|
"master-id": "5164f7f8-a6ca-4dd4-8f36-33db1dc9c35d",
|
||
|
},
|
||
|
"id": 5
|
||
|
}
|
||
|
|
||
|
<--- SUCCESS (TBD FAIL CASE)
|
||
|
{
|
||
|
"jsonrpc": "2.0",
|
||
|
"id": 5,
|
||
|
"result": {
|
||
|
"blapi": "LSAPI",
|
||
|
"result": {
|
||
|
"listing": "-rw-r--r-- 1 root root 33881 May 3 17:22 blank_avatar.png\ndrwxr-xr-x 6 root root 4096 Oct 26 2016 dash.js\n-rw-r--r-- 1 root root 5266 May 3 17:20 foo.diff\n-rw-r--r-- 1 root root 485 May 3 17:22 ks.diff"
|
||
|
},
|
||
|
|
||
|
}
|
||
|
}
|