47 lines
978 B
V
47 lines
978 B
V
module main
|
|
|
|
import net
|
|
import net.jsonrpc
|
|
|
|
fn main() {
|
|
addr := '127.0.0.1:42228'
|
|
mut stream := net.dial_tcp(addr)!
|
|
mut log_inter := jsonrpc.LoggingInterceptor{}
|
|
mut inters := jsonrpc.Interceptors{
|
|
event: [log_inter.on_event]
|
|
encoded_request: [log_inter.on_encoded_request]
|
|
request: [log_inter.on_request]
|
|
response: [log_inter.on_response]
|
|
encoded_response: [log_inter.on_encoded_response]
|
|
}
|
|
|
|
mut c := jsonrpc.new_client(jsonrpc.ClientConfig{
|
|
stream: stream
|
|
interceptors: inters
|
|
})
|
|
|
|
println('TCP JSON-RPC client on ${addr}')
|
|
|
|
d1 := c.request('kv.delete', {
|
|
'key': 'foo'
|
|
}, 'kv.delete')!
|
|
println('RESULT: ${d1}')
|
|
|
|
res := c.batch([
|
|
jsonrpc.new_request('kv.create', {
|
|
'key': 'foo'
|
|
'value': 'bar'
|
|
}, 'kv.create'),
|
|
jsonrpc.new_request('kv.create', {
|
|
'key': 'bar'
|
|
'value': 'foo'
|
|
}, 'kv.create'),
|
|
])!
|
|
println('RESULT: ${res}')
|
|
|
|
c.notify('kv.create', {
|
|
'key': 'bazz'
|
|
'value': 'barr'
|
|
})!
|
|
}
|