From 5c3e296ea8439d6b1f4a0a8c5b999a47464ac405 Mon Sep 17 00:00:00 2001 From: Kris Stern Date: Sat, 24 Dec 2022 19:28:38 +0800 Subject: [PATCH 1/2] Initialize context.state sooner --- lib/application.js | 2 +- lib/context.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/application.js b/lib/application.js index cbbb24b0d..415da0862 100644 --- a/lib/application.js +++ b/lib/application.js @@ -208,7 +208,7 @@ module.exports = class Application extends Emitter { request.response = response response.request = request context.originalUrl = request.originalUrl = req.url - context.state = {} + context.state = Object.assign({}, context.state) return context } diff --git a/lib/context.js b/lib/context.js index a02270f2f..d3f9fad5c 100644 --- a/lib/context.js +++ b/lib/context.js @@ -50,6 +50,7 @@ const proto = module.exports = { request: this.request.toJSON(), response: this.response.toJSON(), app: this.app.toJSON(), + state: this.state, originalUrl: this.originalUrl, req: '', res: '', From 3a3f9b38c45fb83d4d282878e8a1d01d22b552e6 Mon Sep 17 00:00:00 2001 From: Kris Stern Date: Mon, 13 Feb 2023 00:09:27 +0800 Subject: [PATCH 2/2] Modify existing test for context > state --- __tests__/context/state.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/context/state.js b/__tests__/context/state.js index 478c73924..d90e38dc8 100644 --- a/__tests__/context/state.js +++ b/__tests__/context/state.js @@ -10,7 +10,7 @@ describe('ctx.state', () => { const app = new Koa() app.use(ctx => { - assert.deepStrictEqual(ctx.state, {}) + assert.deepStrictEqual(ctx.state, this.state || {}) }) const server = app.listen()