Skip to content

Commit dd1bcc2

Browse files
Merge pull request #29 from contentstack/development
DX | Release | 21-04-2025
2 parents fee6fb4 + 171d754 commit dd1bcc2

File tree

3 files changed

+21
-5
lines changed

3 files changed

+21
-5
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@contentstack/webhook-listener",
3-
"version": "1.0.6",
3+
"version": "1.0.7",
44
"description": "HTTP web server that listens to Contentstack webhooks. This is part of Contentstack DataSync",
55
"main": "./dist",
66
"types": "./typings",

src/core.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ const requestHandler = (request, response) => {
2828

2929
log.info(`Request recived, '${request.method} : ${request.url}'`);
3030
debug('_config', _config);
31+
// Explicitly remove or override the X-Powered-By header
32+
response.setHeader('X-Powered-By', '');
3133
return Promise.resolve().then(() => {
3234
// Should be a POST call.
3335
if (request.method && request.method !== 'POST') {
@@ -152,14 +154,28 @@ const requestHandler = (request, response) => {
152154
response.setHeader('Content-Type', 'application/json');
153155
response.statusCode = value.statusCode;
154156
response.statusMessage = value.statusMessage;
155-
response.end(JSON.stringify(value.body));
157+
// Example: Return only safe fields
158+
const safeBody = {
159+
data: value.body?.data || value?.body || null
160+
};
161+
162+
response.end(JSON.stringify(safeBody));
156163
return;
157164
}).catch((error) => {
158165
debug('Error', error);
166+
const safeError = {
167+
statusCode: error.statusCode || 500,
168+
statusMessage: error.statusMessage || 'Internal Server Error',
169+
body: typeof error.body === 'string'
170+
? error.body
171+
: (typeof error.body === 'object' && error.body !== null
172+
? JSON.stringify(error.body)
173+
: 'An unexpected error occurred.'),
174+
};
159175
response.setHeader('Content-Type', 'application/json');
160176
response.statusCode = error.statusCode;
161177
response.statusMessage = error.statusMessage;
162-
response.end(JSON.stringify({ error: { message: error.body } }));
178+
response.end(JSON.stringify({ error: { message: safeError.body } }));
163179
return;
164180
});
165181
};

0 commit comments

Comments
 (0)