Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,48 @@
|
||||
module jsonrpc
|
||||
|
||||
import log
|
||||
|
||||
// LoggingInterceptor is simple logging full-fledged Interceptor
|
||||
// messages will be written in `log`.get_level() Level
|
||||
@[heap]
|
||||
pub struct LoggingInterceptor {
|
||||
pub mut:
|
||||
log log.Log
|
||||
}
|
||||
|
||||
// on_event logs event `name` and `data` into provided `log`
|
||||
pub fn (mut l LoggingInterceptor) on_event(name string, data string) {
|
||||
msg := '[EVENT] name=${name} data=${data}'
|
||||
l.log.send_output(msg, l.log.get_level())
|
||||
}
|
||||
|
||||
// on_encoded_request logs json encoded `jsonrpc.Request` as string
|
||||
pub fn (mut l LoggingInterceptor) on_encoded_request(req []u8) ! {
|
||||
msg := '[RAW REQ] ${req.bytestr()}'
|
||||
l.log.send_output(msg, l.log.get_level())
|
||||
}
|
||||
|
||||
// on_request logs `jsonrpc.Request` method, params and id
|
||||
pub fn (mut l LoggingInterceptor) on_request(req &Request) ! {
|
||||
msg := '[REQ] method=${req.method} params=${req.params} id=${req.id}'
|
||||
l.log.send_output(msg, l.log.get_level())
|
||||
}
|
||||
|
||||
// on_response logs `jsonrpc.Response` result, error and id
|
||||
pub fn (mut l LoggingInterceptor) on_response(resp &Response) {
|
||||
mut msg := '[RESP] result=${resp.result} '
|
||||
if resp.error.code != 0 {
|
||||
msg = msg + 'error=${resp.error}'
|
||||
} else {
|
||||
msg = msg + 'error=none'
|
||||
}
|
||||
msg = msg + ' id=${resp.id}'
|
||||
|
||||
l.log.send_output(msg, l.log.get_level())
|
||||
}
|
||||
|
||||
// on_encoded_response logs json encoded `jsonrpc.Response` as string
|
||||
pub fn (mut l LoggingInterceptor) on_encoded_response(resp []u8) {
|
||||
msg := '[RAW RESP] ${resp.bytestr()}'
|
||||
l.log.send_output(msg, l.log.get_level())
|
||||
}
|
||||
Reference in new issue
Block a user