Skip to content

Commit d420e5e

Browse files
committed
Merge branch 'develop' into main
2 parents 536ee26 + 6a2bfe0 commit d420e5e

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

src/api-utils/midddleware/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const parseSlackActionPayloadMiddleware = {
4848
};
4949
export const parseSlackEventPayloadMiddleware = {
5050
method: parseSlackEventPayload,
51-
assign: 'slackActionPayload',
51+
assign: 'slackEventsPayload',
5252
};
5353

5454
export const parseSlackSlashCommandPayloadMiddleware = {

src/api-utils/midddleware/parseSlackActionPayload.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import Querystring from 'querystring';
1+
// import Querystring from 'querystring';
22

33
import Boom from '@hapi/boom';
44
import type { Lifecycle, Request } from '@hapi/hapi';
@@ -20,16 +20,15 @@ export function parseSlackActionPayload(request: Request): Lifecycle.Method {
2020
throw Boom.internal('Payload is not a Buffer');
2121
}
2222

23-
const body = request.payload.toString('utf-8');
24-
const { payload } = Querystring.parse(body);
23+
const body = new URLSearchParams(request.payload.toString('utf-8'));
24+
const payload = body.get('payload');
2525

2626
const parsed:
2727
| SlackActionsPayload
2828
| SlackDialogsPayload
2929
| SlackBlockKitPayload
3030
| SlackShortcutPayload
31-
| SlackDialogSubmissionPayload = JSON.parse(payload as string);
32-
31+
| SlackDialogSubmissionPayload = JSON.parse(payload || '');
3332
let mutableSlackPayload;
3433
switch (parsed.type) {
3534
case 'message_action':

src/api-utils/midddleware/parseSlackEventPayload.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import Querystring from 'querystring';
2-
31
import Boom from '@hapi/boom';
42
import type { Lifecycle } from '@hapi/hapi';
53

@@ -14,10 +12,10 @@ export const parseSlackEventPayload: Lifecycle.Method = (request) => {
1412
throw Boom.internal('Payload is not a Buffer');
1513
}
1614

17-
const body = request.payload.toString('utf-8');
18-
const { payload } = Querystring.parse(body);
15+
const body = new URLSearchParams(request.payload.toString('utf-8'));
16+
const payload = body.get('payload');
1917

20-
const parsed: SlackChallengesPayload | SlackEventsPayload = JSON.parse(payload as string);
18+
const parsed: SlackChallengesPayload | SlackEventsPayload = JSON.parse(payload || '');
2119

2220
const slackEventPayload = parsed.challenge
2321
? slackChallengesPayloadSchema.validate(parsed, { stripUnknown: true })

src/api-utils/midddleware/parseSlackSlashCommandPayload.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import Querystring from 'querystring';
2-
31
import Boom from '@hapi/boom';
42
import type { Lifecycle, Request } from '@hapi/hapi';
53

@@ -12,8 +10,10 @@ export function parseSlackSlashCommandPayload(request: Request): Lifecycle.Metho
1210
throw Boom.internal('Payload is not a Buffer');
1311
}
1412

15-
const body = request.payload.toString('utf-8');
16-
const parsed = Querystring.parse(body) as unknown as SlackSlashCommandPayload;
13+
const body = new URLSearchParams(request.payload.toString('utf-8'));
14+
const payload = {} as any;
15+
body.forEach((value, name) => (payload[name] = value));
16+
const parsed = payload as SlackSlashCommandPayload;
1717

1818
const slashCommandPayload = slackSlashCommandPayloadSchema.validate(parsed, {
1919
stripUnknown: true,

0 commit comments

Comments
 (0)