-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
45 lines (38 loc) · 888 Bytes
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const { Logger, LogLevel } = require('@nolawnchairs/logger')
const { Client, Server, Log } = require('./lib')
Log.setLogger(new Logger(LogLevel.Debug))
const port = 3090
new Server(port, { logActivity: true, ipStack: 4 })
.accept('--gimme', gimmeJson)
.onStart(createClient)
.start()
/**
* Test function waits 1 second and sends prints data
*/
async function gimmeJson() {
return new Promise(resolve => {
setTimeout(() => {
resolve({
foo: 'bar',
baz: 42,
quux: null
})
}, 1000)
})
}
function toJson(data) {
try {
return JSON.parse(data)
} catch (e) {
return {}
}
}
async function createClient() {
const client = new Client(port, { logActivity: true, ipStack: 4 })
try {
const data = await client.requestJson('--gimme')
Log.info('Data returned', data)
} catch (e) {
Log.error('Error', e)
}
}