@enkaku/server 0.13.1 → 0.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/handlers/channel.d.ts.map +1 -1
- package/lib/handlers/channel.js +18 -8
- package/lib/handlers/event.d.ts.map +1 -1
- package/lib/handlers/event.js +24 -10
- package/lib/handlers/request.d.ts.map +1 -1
- package/lib/handlers/request.js +13 -5
- package/lib/handlers/stream.d.ts.map +1 -1
- package/lib/handlers/stream.js +16 -6
- package/lib/utils.js +3 -3
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFvB"}
|
package/lib/handlers/channel.js
CHANGED
|
@@ -5,10 +5,19 @@ export function handleChannel(ctx, msg) {
|
|
|
5
5
|
if (handler == null) {
|
|
6
6
|
return new Error(`No handler for procedure: ${msg.payload.prc}`);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const param = msg.payload.prm;
|
|
9
|
+
if (param == null) {
|
|
10
|
+
ctx.logger.trace('handle channel {procedure} with ID {rid}', {
|
|
11
|
+
procedure: msg.payload.prc,
|
|
12
|
+
rid: msg.payload.rid
|
|
13
|
+
});
|
|
14
|
+
} else {
|
|
15
|
+
ctx.logger.trace('handle channel {procedure} with ID {rid} and param: {param}', {
|
|
16
|
+
procedure: msg.payload.prc,
|
|
17
|
+
rid: msg.payload.rid,
|
|
18
|
+
param
|
|
19
|
+
});
|
|
20
|
+
}
|
|
12
21
|
const sendStream = createPipe();
|
|
13
22
|
const controller = Object.assign(new AbortController(), {
|
|
14
23
|
writer: sendStream.writable.getWriter()
|
|
@@ -22,9 +31,10 @@ export function handleChannel(ctx, msg) {
|
|
|
22
31
|
if (controller.signal.aborted) {
|
|
23
32
|
return;
|
|
24
33
|
}
|
|
25
|
-
ctx.logger.trace('send value to channel {procedure} with ID {rid}', {
|
|
34
|
+
ctx.logger.trace('send value to channel {procedure} with ID {rid}: {val}', {
|
|
26
35
|
procedure: msg.payload.prc,
|
|
27
|
-
rid: msg.payload.rid
|
|
36
|
+
rid: msg.payload.rid,
|
|
37
|
+
val
|
|
28
38
|
});
|
|
29
39
|
await ctx.send({
|
|
30
40
|
typ: 'receive',
|
|
@@ -33,7 +43,7 @@ export function handleChannel(ctx, msg) {
|
|
|
33
43
|
});
|
|
34
44
|
}));
|
|
35
45
|
const readable = sendStream.readable.pipeThrough(tap((value)=>{
|
|
36
|
-
ctx.logger.trace('received value from channel {procedure} with ID {rid}', {
|
|
46
|
+
ctx.logger.trace('received value from channel {procedure} with ID {rid}: {value}', {
|
|
37
47
|
procedure: msg.payload.prc,
|
|
38
48
|
rid: msg.payload.rid,
|
|
39
49
|
value
|
|
@@ -41,7 +51,7 @@ export function handleChannel(ctx, msg) {
|
|
|
41
51
|
}));
|
|
42
52
|
const handlerContext = {
|
|
43
53
|
message: msg,
|
|
44
|
-
param
|
|
54
|
+
param,
|
|
45
55
|
readable,
|
|
46
56
|
signal: controller.signal,
|
|
47
57
|
writable: receiveStream.writable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpF,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEjE,wBAAgB,WAAW,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpF,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEjE,wBAAgB,WAAW,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChG"}
|
package/lib/handlers/event.js
CHANGED
|
@@ -5,24 +5,38 @@ export function handleEvent(ctx, msg) {
|
|
|
5
5
|
if (handler == null) {
|
|
6
6
|
return new Error(`No handler for procedure: ${msg.payload.prc}`);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const data = msg.payload.data;
|
|
9
|
+
if (data == null) {
|
|
10
|
+
ctx.logger.trace('handle event {procedure} without data', {
|
|
11
|
+
procedure: msg.payload.prc
|
|
12
|
+
});
|
|
13
|
+
} else {
|
|
14
|
+
ctx.logger.trace('handle event {procedure} with data: {data}', {
|
|
15
|
+
procedure: msg.payload.prc,
|
|
16
|
+
data: msg.payload.data
|
|
17
|
+
});
|
|
18
|
+
}
|
|
12
19
|
const handlerContext = {
|
|
13
20
|
message: msg,
|
|
14
|
-
data
|
|
21
|
+
data
|
|
15
22
|
};
|
|
16
23
|
return toPromise(()=>handler(handlerContext)).catch((cause)=>{
|
|
17
24
|
const error = HandlerError.from(cause, {
|
|
18
25
|
code: 'EK01',
|
|
19
26
|
message: cause.message ?? 'Handler execution failed'
|
|
20
27
|
});
|
|
21
|
-
|
|
22
|
-
procedure:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
if (data == null) {
|
|
29
|
+
ctx.logger.debug('handler error for event {procedure} without data: {error}', {
|
|
30
|
+
procedure: msg.payload.prc,
|
|
31
|
+
error
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
ctx.logger.debug('handler error for event {procedure} with data {data}: {error}', {
|
|
35
|
+
procedure: msg.payload.prc,
|
|
36
|
+
data,
|
|
37
|
+
error
|
|
38
|
+
});
|
|
39
|
+
}
|
|
26
40
|
ctx.events.emit('handlerError', {
|
|
27
41
|
error,
|
|
28
42
|
payload: msg.payload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/handlers/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/handlers/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BvB"}
|
package/lib/handlers/request.js
CHANGED
|
@@ -4,11 +4,19 @@ export function handleRequest(ctx, msg) {
|
|
|
4
4
|
if (handler == null) {
|
|
5
5
|
return new Error(`No handler for procedure: ${msg.payload.prc}`);
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const param = msg.payload.prm;
|
|
8
|
+
if (param == null) {
|
|
9
|
+
ctx.logger.trace('handle request {procedure} with ID {rid}', {
|
|
10
|
+
procedure: msg.payload.prc,
|
|
11
|
+
rid: msg.payload.rid
|
|
12
|
+
});
|
|
13
|
+
} else {
|
|
14
|
+
ctx.logger.trace('handle request {procedure} with ID {rid} and param: {param}', {
|
|
15
|
+
procedure: msg.payload.prc,
|
|
16
|
+
rid: msg.payload.rid,
|
|
17
|
+
param
|
|
18
|
+
});
|
|
19
|
+
}
|
|
12
20
|
const controller = new AbortController();
|
|
13
21
|
ctx.controllers[msg.payload.rid] = controller;
|
|
14
22
|
const handlerContext = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAA;AAG7E,MAAM,MAAM,eAAe,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAElE,wBAAgB,YAAY,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAA;AAG7E,MAAM,MAAM,eAAe,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAElE,wBAAgB,YAAY,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DjG"}
|
package/lib/handlers/stream.js
CHANGED
|
@@ -5,10 +5,19 @@ export function handleStream(ctx, msg) {
|
|
|
5
5
|
if (handler == null) {
|
|
6
6
|
return new Error(`No handler for procedure: ${msg.payload.prc}`);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const param = msg.payload.prm;
|
|
9
|
+
if (param == null) {
|
|
10
|
+
ctx.logger.trace('handle stream {procedure} with ID {rid}', {
|
|
11
|
+
procedure: msg.payload.prc,
|
|
12
|
+
rid: msg.payload.rid
|
|
13
|
+
});
|
|
14
|
+
} else {
|
|
15
|
+
ctx.logger.trace('handle stream {procedure} with ID {rid} and param: {param}', {
|
|
16
|
+
procedure: msg.payload.prc,
|
|
17
|
+
rid: msg.payload.rid,
|
|
18
|
+
param
|
|
19
|
+
});
|
|
20
|
+
}
|
|
12
21
|
const controller = new AbortController();
|
|
13
22
|
ctx.controllers[msg.payload.rid] = controller;
|
|
14
23
|
const receiveStream = createPipe();
|
|
@@ -16,9 +25,10 @@ export function handleStream(ctx, msg) {
|
|
|
16
25
|
if (controller.signal.aborted) {
|
|
17
26
|
return;
|
|
18
27
|
}
|
|
19
|
-
ctx.logger.trace('send value to stream {procedure} with ID {rid}', {
|
|
28
|
+
ctx.logger.trace('send value to stream {procedure} with ID {rid}: {val}', {
|
|
20
29
|
procedure: msg.payload.prc,
|
|
21
|
-
rid: msg.payload.rid
|
|
30
|
+
rid: msg.payload.rid,
|
|
31
|
+
val
|
|
22
32
|
});
|
|
23
33
|
await ctx.send({
|
|
24
34
|
typ: 'receive',
|
package/lib/utils.js
CHANGED
|
@@ -9,7 +9,7 @@ export async function executeHandler(context, payload, execute) {
|
|
|
9
9
|
try {
|
|
10
10
|
const val = await toPromise(execute);
|
|
11
11
|
if (canSend(controller.signal)) {
|
|
12
|
-
context.logger.trace('send result to {type} {procedure} with ID {rid}', {
|
|
12
|
+
context.logger.trace('send result to {type} {procedure} with ID {rid}: {result}', {
|
|
13
13
|
type: payload.typ,
|
|
14
14
|
procedure: payload.prc,
|
|
15
15
|
rid: payload.rid,
|
|
@@ -27,7 +27,7 @@ export async function executeHandler(context, payload, execute) {
|
|
|
27
27
|
message: 'Handler execution failed'
|
|
28
28
|
});
|
|
29
29
|
if (canSend(controller.signal)) {
|
|
30
|
-
context.logger.trace('send error to {type} {procedure} with ID {rid}', {
|
|
30
|
+
context.logger.trace('send error to {type} {procedure} with ID {rid}: {error}', {
|
|
31
31
|
type: payload.typ,
|
|
32
32
|
procedure: payload.prc,
|
|
33
33
|
rid: payload.rid,
|
|
@@ -35,7 +35,7 @@ export async function executeHandler(context, payload, execute) {
|
|
|
35
35
|
});
|
|
36
36
|
context.send(error.toPayload(payload.rid));
|
|
37
37
|
} else {
|
|
38
|
-
context.logger.debug('handler error for {type} {procedure} with ID {rid} cannot be sent to client', {
|
|
38
|
+
context.logger.debug('handler error for {type} {procedure} with ID {rid} cannot be sent to client: {error}', {
|
|
39
39
|
type: payload.typ,
|
|
40
40
|
procedure: payload.prc,
|
|
41
41
|
rid: payload.rid,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enkaku/server",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://enkaku.dev",
|
|
6
6
|
"description": "Server logic for Enkaku RPC",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@enkaku/async": "^0.13.0",
|
|
29
29
|
"@enkaku/capability": "^0.13.0",
|
|
30
|
-
"@enkaku/log": "^0.13.0",
|
|
31
30
|
"@enkaku/event": "^0.13.0",
|
|
32
|
-
"@enkaku/
|
|
31
|
+
"@enkaku/log": "^0.13.1",
|
|
33
32
|
"@enkaku/protocol": "^0.13.0",
|
|
34
|
-
"@enkaku/
|
|
35
|
-
"@enkaku/stream": "^0.13.0"
|
|
33
|
+
"@enkaku/schema": "^0.13.0",
|
|
34
|
+
"@enkaku/stream": "^0.13.0",
|
|
35
|
+
"@enkaku/token": "^0.13.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@enkaku/transport": "^0.13.1"
|