From 886601ec1dbda188e52cfe6d5e196ccd2a3967e2 Mon Sep 17 00:00:00 2001 From: Taranveer Virk Date: Wed, 11 Apr 2018 15:36:35 -0400 Subject: [PATCH] fix(rest): set statusCode as 201 for POST request fix #788 --- examples/todo/test/acceptance/application.acceptance.ts | 2 +- packages/rest/src/rest.server.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/todo/test/acceptance/application.acceptance.ts b/examples/todo/test/acceptance/application.acceptance.ts index d463e313e6ee..1b680cd9b233 100644 --- a/examples/todo/test/acceptance/application.acceptance.ts +++ b/examples/todo/test/acceptance/application.acceptance.ts @@ -35,7 +35,7 @@ describe('Application', () => { const response = await client .post('/todo') .send(todo) - .expect(200); + .expect(201); expect(response.body).to.containEql(todo); const result = await todoRepo.findById(response.body.id); expect(result).to.containEql(todo); diff --git a/packages/rest/src/rest.server.ts b/packages/rest/src/rest.server.ts index 3652f7947b68..123c54dd08c3 100644 --- a/packages/rest/src/rest.server.ts +++ b/packages/rest/src/rest.server.ts @@ -197,6 +197,11 @@ export class RestServer extends Context implements Server, HttpServerLike { return Promise.resolve(); } + // Any item down the sequence chain can override the statusCode if needed + if (request.method === 'POST') { + response.statusCode = 201; + } + if ( request.method === 'GET' && request.url &&