From 4341a4127ef32e2cddcc6c324cfcb386c17e0202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?z=C5=8Dng=20y=C7=94?= Date: Sat, 6 Oct 2018 15:54:48 +0800 Subject: [PATCH] feat: append ctx to request (#13) --- lib/client/consumer.js | 1 + lib/client/request.js | 1 + package.json | 12 ++++++------ test/client/client.test.js | 4 +++- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/client/consumer.js b/lib/client/consumer.js index 29fe660..c370bc2 100644 --- a/lib/client/consumer.js +++ b/lib/client/consumer.js @@ -97,6 +97,7 @@ class RpcConsumer extends Base { requestProps: options.requestProps, codecType: options.codecType, timeout: options.responseTimeout || this.options.responseTimeout, + ctx: options.ctx, }); } diff --git a/lib/client/request.js b/lib/client/request.js index 8346e9f..44a0039 100644 --- a/lib/client/request.js +++ b/lib/client/request.js @@ -18,6 +18,7 @@ class RpcRequest { this.requestProps = data.requestProps || { service: data.serverSignature, }; + this.ctx = data.ctx; this.meta = { id: null, resultCode: '00', diff --git a/package.json b/package.json index a7c3bea..0fea31a 100644 --- a/package.json +++ b/package.json @@ -36,16 +36,16 @@ "await-first": "^1.0.0", "byte": "^2.0.0", "cluster-client": "^2.1.1", - "debug": "^4.0.0", + "debug": "^4.0.1", "easy-table": "^1.1.1", "graceful": "^1.0.1", - "is-type-of": "^1.2.0", + "is-type-of": "^1.2.1", "mz-modules": "^2.1.0", "pump": "^3.0.0", - "sdk-base": "^3.5.0", + "sdk-base": "^3.5.1", "sofa-bolt-node": "^1.0.2", "urlencode": "^1.1.0", - "utility": "^1.14.0", + "utility": "^1.15.0", "zookeeper-cluster-client": "^2.0.1" }, "devDependencies": { @@ -54,8 +54,8 @@ "await-event": "^2.1.0", "coffee": "^5.1.0", "contributors": "^0.5.1", - "egg-bin": "^4.8.5", - "eslint": "^5.5.0", + "egg-bin": "^4.9.0", + "eslint": "^5.6.1", "eslint-config-egg": "^7.1.0", "mm": "^2.4.1", "pedding": "^1.1.0" diff --git a/test/client/client.test.js b/test/client/client.test.js index 31293ed..296dd2e 100644 --- a/test/client/client.test.js +++ b/test/client/client.test.js @@ -57,10 +57,12 @@ describe('test/client/client.test.js', () => { name: 'Peter', group: 'A', }]; - const res = await consumer.invoke('echoObj', args); + const ctx = { foo: 'bar' }; + const res = await consumer.invoke('echoObj', args, { ctx }); assert.deepEqual(res, { code: 200, message: 'hello Peter, you are in A' }); assert(req && req.targetAppName === 'pb'); + assert(req.ctx === ctx); await client.close(); });