yar-node
v0.0.9
Published
### ✨ Features: - client[√] - server[√] - packager: json[√]、php[√]、msgpack[×] - protocol: http[√]、tcp[×]、unix[×]
Downloads
3
Readme
yar-node
✨ Features:
- client[√]
- server[√]
- packager: json[√]、php[√]、msgpack[×]
- protocol: http[√]、tcp[×]、unix[×]
Server
const { YarServer } = require('yar-node');
class API {
someMethod(args) {}
}
const server = new YarServer(new API());
server.handle();
Client
const { YarClient } = require('yar-node');
const client = new YarClient('http://host/api/');
client.call('someMethod', { name: 'Chris' }).then(res => {
console.log(`reponse:${res}`);
});
Yar Header
typedef struct _yar_header {
unsigned int id; // transaction id
unsigned short version; // protocl version
unsigned int magic_num; // default is: 0x80DFEC60
unsigned int reserved;
unsigned char provider[32]; // reqeust from who
unsigned char token[32]; // request token, used for authentication
unsigned int body_len; // request body len
}
Request
{
i: '', // transaction id
m: '', // the method which being called
p: {} // parameters
}
Response
{
i: '', // transaction id
s: '', // status
r: '', // return value
o: '', // output
e: '' // error or exception
}