Skip to content

Commit 2564e8c

Browse files
committed
fix: resolve readable stream error
Move the `express.json()` middleware up to the main app to resolve the readable stream error
1 parent 5e7bded commit 2564e8c

File tree

9 files changed

+42
-18
lines changed

9 files changed

+42
-18
lines changed

.changeset/chatty-pears-spend.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@labdigital/commercetools-mock": patch
3+
---
4+
5+
Fix readable stream error

src/ctMock.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ export class CommercetoolsMock {
138138
this._oauth2.setCustomerRepository(this._repositories.customer);
139139

140140
const app = express();
141+
app.use(express.json());
141142

142143
const projectRouter = express.Router({ mergeParams: true });
143-
projectRouter.use(express.json());
144144

145145
if (!options?.silent) {
146146
app.use(morgan("tiny"));

src/oauth/server.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class OAuth2Server {
7575
return async (request: Request, response: Response, next: NextFunction) => {
7676
const token = getBearerToken(request);
7777
if (!token) {
78-
next(
78+
return next(
7979
new CommercetoolsError<InvalidTokenError>(
8080
{
8181
code: "invalid_token",
@@ -88,7 +88,7 @@ export class OAuth2Server {
8888
}
8989

9090
if (!token || !this.store.validateToken(token)) {
91-
next(
91+
return next(
9292
new CommercetoolsError<InvalidTokenError>(
9393
{
9494
code: "invalid_token",
@@ -99,7 +99,7 @@ export class OAuth2Server {
9999
);
100100
}
101101

102-
next();
102+
return next();
103103
};
104104
}
105105

src/services/abstract.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export default abstract class AbstractService {
119119
},
120120
);
121121
if (!result) {
122-
response.sendStatus(404);
122+
response.status(404).send({ statusCode: 404 });
123123
return;
124124
}
125125
response.status(200).send(result);
@@ -131,7 +131,7 @@ export default abstract class AbstractService {
131131
request.params.key,
132132
);
133133
if (!resource) {
134-
response.sendStatus(404);
134+
response.status(404).send({ statusCode: 404 });
135135
return;
136136
}
137137

@@ -143,7 +143,7 @@ export default abstract class AbstractService {
143143
},
144144
);
145145
if (!result) {
146-
response.sendStatus(404);
146+
response.status(404).send({ statusCode: 404 });
147147
return;
148148
}
149149
response.status(200).send(result);
@@ -169,7 +169,7 @@ export default abstract class AbstractService {
169169
request.params.id,
170170
);
171171
if (!resource) {
172-
response.sendStatus(404);
172+
response.status(404).send({ statusCode: 404 });
173173
return;
174174
}
175175

@@ -195,7 +195,7 @@ export default abstract class AbstractService {
195195
request.params.key,
196196
);
197197
if (!resource) {
198-
response.sendStatus(404);
198+
response.status(404).send({ statusCode: 404 });
199199
return;
200200
}
201201

src/services/custom-object.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export class CustomObjectService extends AbstractService {
5252
);
5353

5454
if (!result) {
55-
response.sendStatus(404);
55+
response.status(404).send({ statusCode: 404 });
5656
return;
5757
}
5858
response.status(200).send(result);
@@ -77,7 +77,7 @@ export class CustomObjectService extends AbstractService {
7777
);
7878

7979
if (!current) {
80-
response.sendStatus(404);
80+
response.status(404).send({ statusCode: 404 });
8181
return;
8282
}
8383

src/services/my-cart.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,16 @@ export class MyCartService extends AbstractService {
3737
activeCart(request: Request, response: Response) {
3838
const resource = this.repository.getActiveCart(request.params.projectKey);
3939
if (!resource) {
40-
response.sendStatus(404);
40+
response.status(404).send({
41+
statusCode: 404,
42+
message: "No active cart exists.",
43+
errors: [
44+
{
45+
code: "ResourceNotFound",
46+
message: "No active cart exists.",
47+
},
48+
],
49+
});
4150
return;
4251
}
4352
response.status(200).send(resource);

src/services/my-customer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class MyCustomerService extends AbstractService {
4444
getMe(request: Request, response: Response) {
4545
const resource = this.repository.getMe(getRepositoryContext(request));
4646
if (!resource) {
47-
response.sendStatus(404);
47+
response.status(404).send({ statusCode: 404 });
4848
return;
4949
}
5050
response.status(200).send(resource);
@@ -54,7 +54,7 @@ export class MyCustomerService extends AbstractService {
5454
const resource = this.repository.getMe(getRepositoryContext(request));
5555

5656
if (!resource) {
57-
response.sendStatus(404);
57+
response.status(404).send({ statusCode: 404 });
5858
return;
5959
}
6060
const updateRequest = validateData<Update>(
@@ -75,7 +75,7 @@ export class MyCustomerService extends AbstractService {
7575
deleteMe(request: Request, response: Response) {
7676
const resource = this.repository.deleteMe(getRepositoryContext(request));
7777
if (!resource) {
78-
response.sendStatus(404);
78+
response.status(404).send({ statusCode: 404 });
7979
return;
8080
}
8181

src/services/order.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ export class OrderService extends AbstractService {
3333
}
3434

3535
getWithOrderNumber(request: Request, response: Response) {
36+
const orderNumber = request.params.orderNumber;
3637
const resource = this.repository.getWithOrderNumber(
3738
getRepositoryContext(request),
38-
request.params.orderNumber,
39+
orderNumber,
3940

4041
// @ts-ignore
4142
request.query,
@@ -44,6 +45,15 @@ export class OrderService extends AbstractService {
4445
response.status(200).send(resource);
4546
return;
4647
}
47-
response.sendStatus(404);
48+
response.status(404).send({
49+
statusCode: 404,
50+
message: `The Resource with key '${orderNumber}' was not found.`,
51+
errors: [
52+
{
53+
code: "ResourceNotFound",
54+
message: `The Resource with key '${orderNumber}' was not found.`,
55+
},
56+
],
57+
});
4858
}
4959
}

src/services/project.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class ProjectService {
3131
const project = this.repository.get(getRepositoryContext(request));
3232

3333
if (!project) {
34-
response.sendStatus(404);
34+
response.status(404).send({ statusCode: 404 });
3535
return;
3636
}
3737

0 commit comments

Comments
 (0)