@slack/bolt 4.0.0-nextGen.9 → 4.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -16
- package/dist/App.d.ts +39 -80
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +223 -234
- package/dist/App.js.map +1 -1
- package/dist/CustomFunction.d.ts +58 -0
- package/dist/CustomFunction.d.ts.map +1 -0
- package/dist/CustomFunction.js +144 -0
- package/dist/CustomFunction.js.map +1 -0
- package/dist/WorkflowStep.d.ts +89 -36
- package/dist/WorkflowStep.d.ts.map +1 -1
- package/dist/WorkflowStep.js +29 -8
- package/dist/WorkflowStep.js.map +1 -1
- package/dist/conversation-store.d.ts +1 -1
- package/dist/conversation-store.d.ts.map +1 -1
- package/dist/conversation-store.js +3 -3
- package/dist/conversation-store.js.map +1 -1
- package/dist/errors.d.ts +12 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +42 -53
- package/dist/errors.js.map +1 -1
- package/dist/helpers.d.ts +16 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +43 -11
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -11
- package/dist/index.js.map +1 -1
- package/dist/middleware/builtin.d.ts +20 -23
- package/dist/middleware/builtin.d.ts.map +1 -1
- package/dist/middleware/builtin.js +93 -110
- package/dist/middleware/builtin.js.map +1 -1
- package/dist/middleware/process.d.ts +3 -3
- package/dist/middleware/process.d.ts.map +1 -1
- package/dist/middleware/process.js +1 -1
- package/dist/middleware/process.js.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts +77 -16
- package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.js +53 -25
- package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
- package/dist/receivers/BufferedIncomingMessage.d.ts +2 -1
- package/dist/receivers/BufferedIncomingMessage.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.d.ts +13 -13
- package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.js +70 -70
- package/dist/receivers/ExpressReceiver.js.map +1 -1
- package/dist/receivers/HTTPModuleFunctions.d.ts +18 -20
- package/dist/receivers/HTTPModuleFunctions.d.ts.map +1 -1
- package/dist/receivers/HTTPModuleFunctions.js +189 -171
- package/dist/receivers/HTTPModuleFunctions.js.map +1 -1
- package/dist/receivers/HTTPReceiver.d.ts +14 -14
- package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
- package/dist/receivers/HTTPReceiver.js +102 -48
- package/dist/receivers/HTTPReceiver.js.map +1 -1
- package/dist/receivers/HTTPResponseAck.d.ts +7 -7
- package/dist/receivers/HTTPResponseAck.d.ts.map +1 -1
- package/dist/receivers/HTTPResponseAck.js +37 -5
- package/dist/receivers/HTTPResponseAck.js.map +1 -1
- package/dist/receivers/ParamsIncomingMessage.d.ts +14 -0
- package/dist/receivers/ParamsIncomingMessage.d.ts.map +1 -0
- package/dist/{types/block-suggestion/index.js → receivers/ParamsIncomingMessage.js} +1 -1
- package/dist/receivers/ParamsIncomingMessage.js.map +1 -0
- package/dist/receivers/SocketModeFunctions.d.ts +3 -5
- package/dist/receivers/SocketModeFunctions.d.ts.map +1 -1
- package/dist/receivers/SocketModeFunctions.js +14 -23
- package/dist/receivers/SocketModeFunctions.js.map +1 -1
- package/dist/receivers/SocketModeReceiver.d.ts +10 -9
- package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
- package/dist/receivers/SocketModeReceiver.js +41 -25
- package/dist/receivers/SocketModeReceiver.js.map +1 -1
- package/dist/receivers/custom-routes.d.ts +4 -3
- package/dist/receivers/custom-routes.d.ts.map +1 -1
- package/dist/receivers/custom-routes.js +10 -9
- package/dist/receivers/custom-routes.js.map +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts.map +1 -1
- package/dist/receivers/verify-redirect-opts.js +3 -3
- package/dist/receivers/verify-redirect-opts.js.map +1 -1
- package/dist/receivers/verify-request.d.ts +1 -12
- package/dist/receivers/verify-request.d.ts.map +1 -1
- package/dist/receivers/verify-request.js +4 -18
- package/dist/receivers/verify-request.js.map +1 -1
- package/dist/types/actions/block-action.d.ts +41 -22
- package/dist/types/actions/block-action.d.ts.map +1 -1
- package/dist/types/actions/dialog-action.d.ts +0 -4
- package/dist/types/actions/dialog-action.d.ts.map +1 -1
- package/dist/types/actions/index.d.ts +25 -11
- package/dist/types/actions/index.d.ts.map +1 -1
- package/dist/types/actions/index.js +1 -0
- package/dist/types/actions/index.js.map +1 -1
- package/dist/types/actions/interactive-message.d.ts +3 -3
- package/dist/types/actions/interactive-message.d.ts.map +1 -1
- package/dist/types/actions/workflow-step-edit.d.ts +7 -7
- package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
- package/dist/types/command/index.d.ts +1 -2
- package/dist/types/command/index.d.ts.map +1 -1
- package/dist/types/events/index.d.ts +26 -24
- package/dist/types/events/index.d.ts.map +1 -1
- package/dist/types/events/index.js +4 -15
- package/dist/types/events/index.js.map +1 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/middleware.d.ts +30 -30
- package/dist/types/middleware.d.ts.map +1 -1
- package/dist/types/middleware.js +3 -0
- package/dist/types/middleware.js.map +1 -1
- package/dist/types/options/index.d.ts +23 -59
- package/dist/types/options/index.d.ts.map +1 -1
- package/dist/types/receiver.d.ts +3 -3
- package/dist/types/receiver.d.ts.map +1 -1
- package/dist/types/shortcuts/global-shortcut.d.ts.map +1 -1
- package/dist/types/shortcuts/index.d.ts +14 -9
- package/dist/types/shortcuts/index.d.ts.map +1 -1
- package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
- package/dist/types/utilities.d.ts +23 -13
- package/dist/types/utilities.d.ts.map +1 -1
- package/dist/types/utilities.js +7 -0
- package/dist/types/utilities.js.map +1 -1
- package/dist/types/view/index.d.ts +148 -12
- package/dist/types/view/index.d.ts.map +1 -1
- package/package.json +32 -61
- package/dist/Manifest.d.ts +0 -5
- package/dist/Manifest.d.ts.map +0 -1
- package/dist/Manifest.js +0 -16
- package/dist/Manifest.js.map +0 -1
- package/dist/SlackFunction.d.ts +0 -190
- package/dist/SlackFunction.d.ts.map +0 -1
- package/dist/SlackFunction.js +0 -441
- package/dist/SlackFunction.js.map +0 -1
- package/dist/Subscription.d.ts +0 -61
- package/dist/Subscription.d.ts.map +0 -1
- package/dist/Subscription.js +0 -169
- package/dist/Subscription.js.map +0 -1
- package/dist/cli/check-update.d.ts +0 -3
- package/dist/cli/check-update.d.ts.map +0 -1
- package/dist/cli/check-update.js +0 -13
- package/dist/cli/check-update.js.map +0 -1
- package/dist/cli/get-hooks.d.ts +0 -2
- package/dist/cli/get-hooks.d.ts.map +0 -1
- package/dist/cli/get-hooks.js +0 -19
- package/dist/cli/get-hooks.js.map +0 -1
- package/dist/cli/get-manifest.d.ts +0 -3
- package/dist/cli/get-manifest.d.ts.map +0 -1
- package/dist/cli/get-manifest.js +0 -16
- package/dist/cli/get-manifest.js.map +0 -1
- package/dist/cli/hook-utils/get-check-update-data.d.ts +0 -49
- package/dist/cli/hook-utils/get-check-update-data.d.ts.map +0 -1
- package/dist/cli/hook-utils/get-check-update-data.js +0 -252
- package/dist/cli/hook-utils/get-check-update-data.js.map +0 -1
- package/dist/cli/hook-utils/get-check-update-data.spec.d.ts +0 -2
- package/dist/cli/hook-utils/get-check-update-data.spec.d.ts.map +0 -1
- package/dist/cli/hook-utils/get-check-update-data.spec.js +0 -266
- package/dist/cli/hook-utils/get-check-update-data.spec.js.map +0 -1
- package/dist/cli/hook-utils/get-manifest-data.d.ts +0 -7
- package/dist/cli/hook-utils/get-manifest-data.d.ts.map +0 -1
- package/dist/cli/hook-utils/get-manifest-data.js +0 -30
- package/dist/cli/hook-utils/get-manifest-data.js.map +0 -1
- package/dist/cli/hook-utils/get-manifest-data.spec.d.ts +0 -2
- package/dist/cli/hook-utils/get-manifest-data.spec.d.ts.map +0 -1
- package/dist/cli/hook-utils/get-manifest-data.spec.js +0 -113
- package/dist/cli/hook-utils/get-manifest-data.spec.js.map +0 -1
- package/dist/cli/hook-utils/manifest.d.ts +0 -30
- package/dist/cli/hook-utils/manifest.d.ts.map +0 -1
- package/dist/cli/hook-utils/manifest.js +0 -103
- package/dist/cli/hook-utils/manifest.js.map +0 -1
- package/dist/cli/hook-utils/manifest.spec.d.ts +0 -2
- package/dist/cli/hook-utils/manifest.spec.d.ts.map +0 -1
- package/dist/cli/hook-utils/manifest.spec.js +0 -79
- package/dist/cli/hook-utils/manifest.spec.js.map +0 -1
- package/dist/cli/run.d.ts +0 -2
- package/dist/cli/run.d.ts.map +0 -1
- package/dist/cli/run.js +0 -37
- package/dist/cli/run.js.map +0 -1
- package/dist/cli/start.d.ts +0 -3
- package/dist/cli/start.d.ts.map +0 -1
- package/dist/cli/start.js +0 -40
- package/dist/cli/start.js.map +0 -1
- package/dist/receivers/http-utils.d.ts +0 -5
- package/dist/receivers/http-utils.d.ts.map +0 -1
- package/dist/receivers/http-utils.js +0 -19
- package/dist/receivers/http-utils.js.map +0 -1
- package/dist/receivers/render-html-for-install-path.d.ts +0 -3
- package/dist/receivers/render-html-for-install-path.d.ts.map +0 -1
- package/dist/receivers/render-html-for-install-path.js +0 -32
- package/dist/receivers/render-html-for-install-path.js.map +0 -1
- package/dist/types/block-suggestion/index.d.ts +0 -97
- package/dist/types/block-suggestion/index.d.ts.map +0 -1
- package/dist/types/block-suggestion/index.js.map +0 -1
- package/dist/types/events/base-events.d.ts +0 -1135
- package/dist/types/events/base-events.d.ts.map +0 -1
- package/dist/types/events/base-events.js +0 -5
- package/dist/types/events/base-events.js.map +0 -1
- package/dist/types/events/message-events.d.ts +0 -348
- package/dist/types/events/message-events.d.ts.map +0 -1
- package/dist/types/events/message-events.js +0 -3
- package/dist/types/events/message-events.js.map +0 -1
- package/dist/types/functions/index.d.ts +0 -26
- package/dist/types/functions/index.d.ts.map +0 -1
- package/dist/types/functions/index.js +0 -3
- package/dist/types/functions/index.js.map +0 -1
- package/dist/types/helpers.d.ts +0 -17
- package/dist/types/helpers.d.ts.map +0 -1
- package/dist/types/helpers.js +0 -3
- package/dist/types/helpers.js.map +0 -1
- package/dist/types/subscription/index.d.ts +0 -80
- package/dist/types/subscription/index.d.ts.map +0 -1
- package/dist/types/subscription/index.js +0 -3
- package/dist/types/subscription/index.js.map +0 -1
- package/src/cli/check-update.js +0 -13
- package/src/cli/get-hooks.js +0 -17
- package/src/cli/get-manifest.js +0 -16
- package/src/cli/hook-utils/get-check-update-data.js +0 -292
- package/src/cli/hook-utils/get-manifest-data.js +0 -39
- package/src/cli/hook-utils/manifest.js +0 -108
- package/src/cli/start.js +0 -43
|
@@ -1,22 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import App from '../App';
|
|
3
|
-
import { Receiver } from '../types/receiver';
|
|
4
|
-
import { StringIndexed } from '../types/
|
|
5
|
-
export
|
|
1
|
+
import { LogLevel, type Logger } from '@slack/logger';
|
|
2
|
+
import type App from '../App';
|
|
3
|
+
import type { Receiver } from '../types/receiver';
|
|
4
|
+
import type { StringIndexed } from '../types/utilities';
|
|
5
|
+
export type AwsEvent = AwsEventV1 | AwsEventV2;
|
|
6
|
+
type AwsEventStringParameters = Record<string, string | undefined>;
|
|
7
|
+
type AwsEventMultiValueStringParameters = Record<string, string[] | undefined>;
|
|
8
|
+
export interface AwsEventV1 {
|
|
6
9
|
body: string | null;
|
|
7
|
-
headers:
|
|
8
|
-
multiValueHeaders: any;
|
|
9
|
-
httpMethod: string;
|
|
10
|
+
headers: AwsEventStringParameters;
|
|
10
11
|
isBase64Encoded: boolean;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
queryStringParameters: any | null;
|
|
14
|
-
multiValueQueryStringParameters: any | null;
|
|
15
|
-
stageVariables: any | null;
|
|
12
|
+
pathParameters: AwsEventStringParameters | null;
|
|
13
|
+
queryStringParameters: AwsEventStringParameters | null;
|
|
16
14
|
requestContext: any;
|
|
15
|
+
stageVariables: AwsEventStringParameters | null;
|
|
16
|
+
httpMethod: string;
|
|
17
|
+
multiValueHeaders: AwsEventMultiValueStringParameters;
|
|
18
|
+
multiValueQueryStringParameters: AwsEventMultiValueStringParameters;
|
|
19
|
+
path: string;
|
|
17
20
|
resource: string;
|
|
18
21
|
}
|
|
19
|
-
export
|
|
22
|
+
export interface AwsEventV2 {
|
|
23
|
+
body?: string;
|
|
24
|
+
headers: AwsEventStringParameters;
|
|
25
|
+
isBase64Encoded: boolean;
|
|
26
|
+
pathParameters?: AwsEventStringParameters;
|
|
27
|
+
queryStringParameters?: AwsEventStringParameters;
|
|
28
|
+
requestContext: any;
|
|
29
|
+
stageVariables?: AwsEventStringParameters;
|
|
30
|
+
cookies?: string[];
|
|
31
|
+
rawPath: string;
|
|
32
|
+
rawQueryString: string;
|
|
33
|
+
routeKey: string;
|
|
34
|
+
version: string;
|
|
35
|
+
}
|
|
36
|
+
export type AwsCallback = (error?: Error | string | null, result?: any) => void;
|
|
37
|
+
export interface ReceiverInvalidRequestSignatureHandlerArgs {
|
|
38
|
+
rawBody: string;
|
|
39
|
+
signature: string;
|
|
40
|
+
ts: number;
|
|
41
|
+
awsEvent: AwsEvent;
|
|
42
|
+
awsResponse: Promise<AwsResponse>;
|
|
43
|
+
}
|
|
20
44
|
export interface AwsResponse {
|
|
21
45
|
statusCode: number;
|
|
22
46
|
headers?: {
|
|
@@ -28,19 +52,54 @@ export interface AwsResponse {
|
|
|
28
52
|
body: string;
|
|
29
53
|
isBase64Encoded?: boolean;
|
|
30
54
|
}
|
|
31
|
-
export
|
|
55
|
+
export type AwsHandler = (event: AwsEvent, context: any, callback: AwsCallback) => Promise<AwsResponse>;
|
|
32
56
|
export interface AwsLambdaReceiverOptions {
|
|
57
|
+
/**
|
|
58
|
+
* The Slack Signing secret to be used as an input to signature verification to ensure that requests are coming from
|
|
59
|
+
* Slack.
|
|
60
|
+
*
|
|
61
|
+
* If the {@link signatureVerification} flag is set to `false`, this can be set to any value as signature verification
|
|
62
|
+
* using this secret will not be performed.
|
|
63
|
+
*
|
|
64
|
+
* @see {@link https://api.slack.com/authentication/verifying-requests-from-slack#about} for details about signing secrets
|
|
65
|
+
*/
|
|
33
66
|
signingSecret: string;
|
|
67
|
+
/**
|
|
68
|
+
* The {@link Logger} for the receiver
|
|
69
|
+
*
|
|
70
|
+
* @default ConsoleLogger
|
|
71
|
+
*/
|
|
34
72
|
logger?: Logger;
|
|
73
|
+
/**
|
|
74
|
+
* The {@link LogLevel} to be used for the logger.
|
|
75
|
+
*
|
|
76
|
+
* @default LogLevel.INFO
|
|
77
|
+
*/
|
|
35
78
|
logLevel?: LogLevel;
|
|
79
|
+
/**
|
|
80
|
+
* Flag that determines whether Bolt should {@link https://api.slack.com/authentication/verifying-requests-from-slack|verify Slack's signature on incoming requests}.
|
|
81
|
+
*
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
signatureVerification?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Optional `function` that can extract custom properties from an incoming receiver event
|
|
87
|
+
* @param request The API Gateway event {@link AwsEvent}
|
|
88
|
+
* @returns An object containing custom properties
|
|
89
|
+
*
|
|
90
|
+
* @default noop
|
|
91
|
+
*/
|
|
36
92
|
customPropertiesExtractor?: (request: AwsEvent) => StringIndexed;
|
|
93
|
+
invalidRequestSignatureHandler?: (args: ReceiverInvalidRequestSignatureHandlerArgs) => void;
|
|
37
94
|
}
|
|
38
95
|
export default class AwsLambdaReceiver implements Receiver {
|
|
39
96
|
private signingSecret;
|
|
40
97
|
private app?;
|
|
41
98
|
private logger;
|
|
99
|
+
private signatureVerification;
|
|
42
100
|
private customPropertiesExtractor;
|
|
43
|
-
|
|
101
|
+
private invalidRequestSignatureHandler;
|
|
102
|
+
constructor({ signingSecret, logger, logLevel, signatureVerification, customPropertiesExtractor, invalidRequestSignatureHandler, }: AwsLambdaReceiverOptions);
|
|
44
103
|
init(app: App): void;
|
|
45
104
|
start(..._args: any[]): Promise<AwsHandler>;
|
|
46
105
|
stop(..._args: any[]): Promise<void>;
|
|
@@ -49,5 +108,7 @@ export default class AwsLambdaReceiver implements Receiver {
|
|
|
49
108
|
private parseRequestBody;
|
|
50
109
|
private isValidRequestSignature;
|
|
51
110
|
private getHeaderValue;
|
|
111
|
+
private defaultInvalidRequestSignatureHandler;
|
|
52
112
|
}
|
|
113
|
+
export {};
|
|
53
114
|
//# sourceMappingURL=AwsLambdaReceiver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsLambdaReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/AwsLambdaReceiver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AwsLambdaReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/AwsLambdaReceiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
7
|
+
const node_querystring_1 = __importDefault(require("node:querystring"));
|
|
7
8
|
const logger_1 = require("@slack/logger");
|
|
8
|
-
const querystring_1 = __importDefault(require("querystring"));
|
|
9
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
10
9
|
const tsscmp_1 = __importDefault(require("tsscmp"));
|
|
11
10
|
const errors_1 = require("../errors");
|
|
12
11
|
/*
|
|
@@ -16,19 +15,35 @@ const errors_1 = require("../errors");
|
|
|
16
15
|
* For OAuth flow endpoints, deploy another Lambda function built with ExpressReceiver.
|
|
17
16
|
*/
|
|
18
17
|
class AwsLambdaReceiver {
|
|
19
|
-
|
|
18
|
+
signingSecret;
|
|
19
|
+
app;
|
|
20
|
+
logger;
|
|
21
|
+
signatureVerification;
|
|
22
|
+
customPropertiesExtractor;
|
|
23
|
+
invalidRequestSignatureHandler;
|
|
24
|
+
constructor({ signingSecret, logger = undefined, logLevel = logger_1.LogLevel.INFO, signatureVerification = true, customPropertiesExtractor = (_) => ({}), invalidRequestSignatureHandler, }) {
|
|
20
25
|
// Initialize instance variables, substituting defaults for each value
|
|
21
26
|
this.signingSecret = signingSecret;
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
this.signatureVerification = signatureVerification;
|
|
28
|
+
this.logger =
|
|
29
|
+
logger ??
|
|
30
|
+
(() => {
|
|
31
|
+
const defaultLogger = new logger_1.ConsoleLogger();
|
|
32
|
+
defaultLogger.setLevel(logLevel);
|
|
33
|
+
return defaultLogger;
|
|
34
|
+
})();
|
|
27
35
|
this.customPropertiesExtractor = customPropertiesExtractor;
|
|
36
|
+
if (invalidRequestSignatureHandler) {
|
|
37
|
+
this.invalidRequestSignatureHandler = invalidRequestSignatureHandler;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.invalidRequestSignatureHandler = this.defaultInvalidRequestSignatureHandler;
|
|
41
|
+
}
|
|
28
42
|
}
|
|
29
43
|
init(app) {
|
|
30
44
|
this.app = app;
|
|
31
45
|
}
|
|
46
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO: what should the REceiver interface here be? probably needs work
|
|
32
47
|
start(..._args) {
|
|
33
48
|
return new Promise((resolve, reject) => {
|
|
34
49
|
try {
|
|
@@ -40,17 +55,18 @@ class AwsLambdaReceiver {
|
|
|
40
55
|
}
|
|
41
56
|
});
|
|
42
57
|
}
|
|
43
|
-
//
|
|
58
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO: what should the REceiver interface here be? probably needs work
|
|
44
59
|
stop(..._args) {
|
|
45
60
|
return new Promise((resolve, _reject) => {
|
|
46
61
|
resolve();
|
|
47
62
|
});
|
|
48
63
|
}
|
|
49
64
|
toHandler() {
|
|
65
|
+
// biome-ignore lint/suspicious/noExplicitAny: request context can be anything
|
|
50
66
|
return async (awsEvent, _awsContext, _awsCallback) => {
|
|
51
|
-
var _a;
|
|
52
67
|
this.logger.debug(`AWS event: ${JSON.stringify(awsEvent, null, 2)}`);
|
|
53
68
|
const rawBody = this.getRawBody(awsEvent);
|
|
69
|
+
// biome-ignore lint/suspicious/noExplicitAny: request bodies can be anything
|
|
54
70
|
const body = this.parseRequestBody(rawBody, this.getHeaderValue(awsEvent.headers, 'Content-Type'), this.logger);
|
|
55
71
|
// ssl_check (for Slash Commands)
|
|
56
72
|
if (typeof body !== 'undefined' &&
|
|
@@ -59,12 +75,15 @@ class AwsLambdaReceiver {
|
|
|
59
75
|
body.ssl_check != null) {
|
|
60
76
|
return Promise.resolve({ statusCode: 200, body: '' });
|
|
61
77
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this.
|
|
67
|
-
|
|
78
|
+
if (this.signatureVerification) {
|
|
79
|
+
// request signature verification
|
|
80
|
+
const signature = this.getHeaderValue(awsEvent.headers, 'X-Slack-Signature');
|
|
81
|
+
const ts = Number(this.getHeaderValue(awsEvent.headers, 'X-Slack-Request-Timestamp'));
|
|
82
|
+
if (!this.isValidRequestSignature(this.signingSecret, rawBody, signature, ts)) {
|
|
83
|
+
const awsResponse = Promise.resolve({ statusCode: 401, body: '' });
|
|
84
|
+
this.invalidRequestSignatureHandler({ rawBody, signature, ts, awsEvent, awsResponse });
|
|
85
|
+
return awsResponse;
|
|
86
|
+
}
|
|
68
87
|
}
|
|
69
88
|
// url_verification (Events API)
|
|
70
89
|
if (typeof body !== 'undefined' &&
|
|
@@ -87,6 +106,7 @@ class AwsLambdaReceiver {
|
|
|
87
106
|
}
|
|
88
107
|
}, 3001);
|
|
89
108
|
// Structure the ReceiverEvent
|
|
109
|
+
// biome-ignore lint/suspicious/noExplicitAny: request responses can be anything
|
|
90
110
|
let storedResponse;
|
|
91
111
|
const event = {
|
|
92
112
|
body,
|
|
@@ -109,7 +129,7 @@ class AwsLambdaReceiver {
|
|
|
109
129
|
};
|
|
110
130
|
// Send the event to the app for processing
|
|
111
131
|
try {
|
|
112
|
-
await
|
|
132
|
+
await this.app?.processEvent(event);
|
|
113
133
|
if (storedResponse !== undefined) {
|
|
114
134
|
if (typeof storedResponse === 'string') {
|
|
115
135
|
return { statusCode: 200, body: storedResponse };
|
|
@@ -126,11 +146,17 @@ class AwsLambdaReceiver {
|
|
|
126
146
|
this.logger.debug(`Error details: ${err}, storedResponse: ${storedResponse}`);
|
|
127
147
|
return { statusCode: 500, body: 'Internal server error' };
|
|
128
148
|
}
|
|
129
|
-
|
|
149
|
+
let path;
|
|
150
|
+
if ('path' in awsEvent) {
|
|
151
|
+
path = awsEvent.path;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
path = awsEvent.rawPath;
|
|
155
|
+
}
|
|
156
|
+
this.logger.info(`No request handler matched the request: ${path}`);
|
|
130
157
|
return { statusCode: 404, body: '' };
|
|
131
158
|
};
|
|
132
159
|
}
|
|
133
|
-
// eslint-disable-next-line class-methods-use-this
|
|
134
160
|
getRawBody(awsEvent) {
|
|
135
161
|
if (typeof awsEvent.body === 'undefined' || awsEvent.body == null) {
|
|
136
162
|
return '';
|
|
@@ -140,10 +166,10 @@ class AwsLambdaReceiver {
|
|
|
140
166
|
}
|
|
141
167
|
return awsEvent.body;
|
|
142
168
|
}
|
|
143
|
-
//
|
|
169
|
+
// biome-ignore lint/suspicious/noExplicitAny: request bodies can be anything
|
|
144
170
|
parseRequestBody(stringBody, contentType, logger) {
|
|
145
171
|
if (contentType === 'application/x-www-form-urlencoded') {
|
|
146
|
-
const parsedBody =
|
|
172
|
+
const parsedBody = node_querystring_1.default.parse(stringBody);
|
|
147
173
|
if (typeof parsedBody.payload === 'string') {
|
|
148
174
|
return JSON.parse(parsedBody.payload);
|
|
149
175
|
}
|
|
@@ -162,7 +188,6 @@ class AwsLambdaReceiver {
|
|
|
162
188
|
throw e;
|
|
163
189
|
}
|
|
164
190
|
}
|
|
165
|
-
// eslint-disable-next-line class-methods-use-this
|
|
166
191
|
isValidRequestSignature(signingSecret, body, signature, requestTimestamp) {
|
|
167
192
|
if (!signature || !requestTimestamp) {
|
|
168
193
|
return false;
|
|
@@ -173,7 +198,7 @@ class AwsLambdaReceiver {
|
|
|
173
198
|
if (requestTimestamp < fiveMinutesAgo) {
|
|
174
199
|
return false;
|
|
175
200
|
}
|
|
176
|
-
const hmac =
|
|
201
|
+
const hmac = node_crypto_1.default.createHmac('sha256', signingSecret);
|
|
177
202
|
const [version, hash] = signature.split('=');
|
|
178
203
|
hmac.update(`${version}:${requestTimestamp}:${body}`);
|
|
179
204
|
if (!(0, tsscmp_1.default)(hash, hmac.digest('hex'))) {
|
|
@@ -181,11 +206,14 @@ class AwsLambdaReceiver {
|
|
|
181
206
|
}
|
|
182
207
|
return true;
|
|
183
208
|
}
|
|
184
|
-
// eslint-disable-next-line class-methods-use-this
|
|
185
209
|
getHeaderValue(headers, key) {
|
|
186
210
|
const caseInsensitiveKey = Object.keys(headers).find((it) => key.toLowerCase() === it.toLowerCase());
|
|
187
211
|
return caseInsensitiveKey !== undefined ? headers[caseInsensitiveKey] : undefined;
|
|
188
212
|
}
|
|
213
|
+
defaultInvalidRequestSignatureHandler(args) {
|
|
214
|
+
const { signature, ts } = args;
|
|
215
|
+
this.logger.info(`Invalid request signature detected (X-Slack-Signature: ${signature}, X-Slack-Request-Timestamp: ${ts})`);
|
|
216
|
+
}
|
|
189
217
|
}
|
|
190
218
|
exports.default = AwsLambdaReceiver;
|
|
191
219
|
//# sourceMappingURL=AwsLambdaReceiver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsLambdaReceiver.js","sourceRoot":"","sources":["../../src/receivers/AwsLambdaReceiver.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"AwsLambdaReceiver.js","sourceRoot":"","sources":["../../src/receivers/AwsLambdaReceiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import type { IncomingMessage } from 'node:http';
|
|
4
5
|
export interface BufferedIncomingMessage extends IncomingMessage {
|
|
5
6
|
rawBody: Buffer;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferedIncomingMessage.d.ts","sourceRoot":"","sources":["../../src/receivers/BufferedIncomingMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BufferedIncomingMessage.d.ts","sourceRoot":"","sources":["../../src/receivers/BufferedIncomingMessage.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import { Server, ServerOptions } from 'http';
|
|
5
|
-
import { Server as HTTPSServer, ServerOptions as HTTPSServerOptions } from 'https';
|
|
6
|
-
import { ListenOptions } from 'net';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import App from '../App';
|
|
11
|
-
import { AnyMiddlewareArgs, Receiver } from '../types';
|
|
12
|
-
import { StringIndexed } from '../types/
|
|
13
|
-
import
|
|
4
|
+
import { type Server, type ServerOptions } from 'node:http';
|
|
5
|
+
import { type Server as HTTPSServer, type ServerOptions as HTTPSServerOptions } from 'node:https';
|
|
6
|
+
import type { ListenOptions } from 'node:net';
|
|
7
|
+
import { LogLevel, type Logger } from '@slack/logger';
|
|
8
|
+
import { type CallbackOptions, type InstallPathOptions, InstallProvider, type InstallProviderOptions, type InstallURLOptions } from '@slack/oauth';
|
|
9
|
+
import { type Request, type Response, type Application, type RequestHandler, type IRouter } from 'express';
|
|
10
|
+
import type App from '../App';
|
|
11
|
+
import type { AnyMiddlewareArgs, Receiver } from '../types';
|
|
12
|
+
import type { StringIndexed } from '../types/utilities';
|
|
13
|
+
import * as httpFunc from './HTTPModuleFunctions';
|
|
14
14
|
export declare const respondToSslCheck: RequestHandler;
|
|
15
15
|
export declare const respondToUrlVerification: RequestHandler;
|
|
16
16
|
export interface ExpressReceiverOptions {
|
|
@@ -32,9 +32,9 @@ export interface ExpressReceiverOptions {
|
|
|
32
32
|
app?: Application;
|
|
33
33
|
router?: IRouter;
|
|
34
34
|
customPropertiesExtractor?: (request: Request) => StringIndexed;
|
|
35
|
-
dispatchErrorHandler?: (args: ReceiverDispatchErrorHandlerArgs) => Promise<void>;
|
|
36
|
-
processEventErrorHandler?: (args: ReceiverProcessEventErrorHandlerArgs) => Promise<boolean>;
|
|
37
|
-
unhandledRequestHandler?: (args: ReceiverUnhandledRequestHandlerArgs) => void;
|
|
35
|
+
dispatchErrorHandler?: (args: httpFunc.ReceiverDispatchErrorHandlerArgs) => Promise<void>;
|
|
36
|
+
processEventErrorHandler?: (args: httpFunc.ReceiverProcessEventErrorHandlerArgs) => Promise<boolean>;
|
|
37
|
+
unhandledRequestHandler?: (args: httpFunc.ReceiverUnhandledRequestHandlerArgs) => void;
|
|
38
38
|
unhandledRequestTimeoutMillis?: number;
|
|
39
39
|
}
|
|
40
40
|
interface InstallerOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/ExpressReceiver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ExpressReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/ExpressReceiver.ts"],"names":[],"mappings":"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"}
|