@slack/bolt 3.6.0-hermesBeta.1 → 3.8.1
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/LICENSE +1 -1
- package/README.md +4 -2
- package/dist/App.d.ts +61 -6
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +161 -91
- package/dist/App.js.map +1 -1
- package/dist/WorkflowStep.d.ts.map +1 -1
- package/dist/WorkflowStep.js +25 -28
- package/dist/WorkflowStep.js.map +1 -1
- package/dist/conversation-store.d.ts.map +1 -1
- package/dist/conversation-store.js +4 -4
- package/dist/conversation-store.js.map +1 -1
- package/dist/errors.d.ts +13 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +25 -9
- package/dist/errors.js.map +1 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +1 -0
- package/dist/helpers.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/middleware/builtin.d.ts +0 -4
- package/dist/middleware/builtin.d.ts.map +1 -1
- package/dist/middleware/builtin.js +1 -35
- package/dist/middleware/builtin.js.map +1 -1
- package/dist/middleware/process.d.ts +1 -1
- package/dist/middleware/process.d.ts.map +1 -1
- package/dist/middleware/process.js +1 -2
- package/dist/middleware/process.js.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts +4 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.js +15 -20
- package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
- package/dist/receivers/ExpressReceiver.d.ts +20 -7
- package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.js +167 -87
- package/dist/receivers/ExpressReceiver.js.map +1 -1
- package/dist/receivers/HTTPReceiver.d.ts +51 -2
- package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
- package/dist/receivers/HTTPReceiver.js +234 -91
- package/dist/receivers/HTTPReceiver.js.map +1 -1
- package/dist/receivers/SocketModeReceiver.d.ts +18 -1
- package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
- package/dist/receivers/SocketModeReceiver.js +105 -41
- package/dist/receivers/SocketModeReceiver.js.map +1 -1
- package/dist/receivers/custom-routes.d.ts +14 -0
- package/dist/receivers/custom-routes.d.ts.map +1 -0
- package/dist/receivers/custom-routes.js +33 -0
- package/dist/receivers/custom-routes.js.map +1 -0
- package/dist/receivers/http-utils.d.ts +5 -0
- package/dist/receivers/http-utils.d.ts.map +1 -0
- package/dist/receivers/http-utils.js +35 -0
- package/dist/receivers/http-utils.js.map +1 -0
- package/dist/receivers/render-html-for-install-path.d.ts +1 -0
- package/dist/receivers/render-html-for-install-path.d.ts.map +1 -1
- package/dist/receivers/render-html-for-install-path.js +6 -1
- package/dist/receivers/render-html-for-install-path.js.map +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts +7 -0
- package/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
- package/dist/receivers/verify-redirect-opts.js +23 -0
- package/dist/receivers/verify-redirect-opts.js.map +1 -0
- package/dist/receivers/verify-request.d.ts +1 -0
- package/dist/receivers/verify-request.d.ts.map +1 -1
- package/dist/receivers/verify-request.js +8 -4
- package/dist/receivers/verify-request.js.map +1 -1
- package/dist/types/actions/block-action.d.ts +8 -1
- package/dist/types/actions/block-action.d.ts.map +1 -1
- package/dist/types/actions/index.d.ts +4 -4
- package/dist/types/actions/index.d.ts.map +1 -1
- package/dist/types/actions/index.js.map +1 -1
- package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
- package/dist/types/events/base-events.d.ts +6 -30
- package/dist/types/events/base-events.d.ts.map +1 -1
- package/dist/types/events/base-events.js +2 -0
- package/dist/types/events/base-events.js.map +1 -1
- package/dist/types/events/index.d.ts +4 -4
- package/dist/types/events/index.d.ts.map +1 -1
- package/dist/types/events/index.js.map +1 -1
- package/dist/types/events/message-events.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +2 -2
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/middleware.d.ts +10 -1
- package/dist/types/middleware.d.ts.map +1 -1
- package/dist/types/middleware.js +11 -0
- package/dist/types/middleware.js.map +1 -1
- package/dist/types/options/index.d.ts +2 -2
- package/dist/types/options/index.d.ts.map +1 -1
- package/dist/types/receiver.d.ts +3 -0
- package/dist/types/receiver.d.ts.map +1 -1
- package/dist/types/shortcuts/index.d.ts +2 -2
- package/dist/types/shortcuts/index.d.ts.map +1 -1
- package/dist/types/shortcuts/index.js.map +1 -1
- package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
- package/dist/types/utilities.d.ts.map +1 -1
- package/package.json +17 -19
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultUnhandledRequestHandler = exports.defaultProcessEventErrorHandler = exports.defaultDispatchErrorHandler = void 0;
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
8
|
const http_1 = require("http");
|
|
4
9
|
const https_1 = require("https");
|
|
5
10
|
const querystring_1 = require("querystring");
|
|
@@ -7,28 +12,122 @@ const logger_1 = require("@slack/logger");
|
|
|
7
12
|
const oauth_1 = require("@slack/oauth");
|
|
8
13
|
const url_1 = require("url");
|
|
9
14
|
const verify_request_1 = require("./verify-request");
|
|
10
|
-
const
|
|
15
|
+
const verify_redirect_opts_1 = require("./verify-redirect-opts");
|
|
16
|
+
const render_html_for_install_path_1 = __importDefault(require("./render-html-for-install-path"));
|
|
11
17
|
const errors_1 = require("../errors");
|
|
18
|
+
const custom_routes_1 = require("./custom-routes");
|
|
19
|
+
const http_utils_1 = require("./http-utils");
|
|
20
|
+
// Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
|
|
21
|
+
const httpsOptionKeys = [
|
|
22
|
+
'ALPNProtocols',
|
|
23
|
+
'clientCertEngine',
|
|
24
|
+
'enableTrace',
|
|
25
|
+
'handshakeTimeout',
|
|
26
|
+
'rejectUnauthorized',
|
|
27
|
+
'requestCert',
|
|
28
|
+
'sessionTimeout',
|
|
29
|
+
'SNICallback',
|
|
30
|
+
'ticketKeys',
|
|
31
|
+
'pskCallback',
|
|
32
|
+
'pskIdentityHint',
|
|
33
|
+
'ca',
|
|
34
|
+
'cert',
|
|
35
|
+
'sigalgs',
|
|
36
|
+
'ciphers',
|
|
37
|
+
'clientCertEngine',
|
|
38
|
+
'crl',
|
|
39
|
+
'dhparam',
|
|
40
|
+
'ecdhCurve',
|
|
41
|
+
'honorCipherOrder',
|
|
42
|
+
'key',
|
|
43
|
+
'privateKeyEngine',
|
|
44
|
+
'privateKeyIdentifier',
|
|
45
|
+
'maxVersion',
|
|
46
|
+
'minVersion',
|
|
47
|
+
'passphrase',
|
|
48
|
+
'pfx',
|
|
49
|
+
'secureOptions',
|
|
50
|
+
'secureProtocol',
|
|
51
|
+
'sessionIdContext',
|
|
52
|
+
];
|
|
53
|
+
const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
|
|
54
|
+
// The default dispathErrorHandler implementation:
|
|
55
|
+
// Developers can customize this behavior by passing dispatchErrorHandler to the constructor
|
|
56
|
+
// Note that it was not possible to make this function async due to the limitation of http module
|
|
57
|
+
function defaultDispatchErrorHandler(args) {
|
|
58
|
+
const { error, logger, request, response } = args;
|
|
59
|
+
if ('code' in error) {
|
|
60
|
+
if (error.code === errors_1.ErrorCode.HTTPReceiverDeferredRequestError) {
|
|
61
|
+
logger.info(`Unhandled HTTP request (${request.method}) made to ${request.url}`);
|
|
62
|
+
response.writeHead(404);
|
|
63
|
+
response.end();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
logger.error(`An unexpected error occurred during a request (${request.method}) made to ${request.url}`);
|
|
68
|
+
logger.debug(`Error details: ${error}`);
|
|
69
|
+
response.writeHead(500);
|
|
70
|
+
response.end();
|
|
71
|
+
}
|
|
72
|
+
exports.defaultDispatchErrorHandler = defaultDispatchErrorHandler;
|
|
73
|
+
// The default processEventErrorHandler implementation:
|
|
74
|
+
// Developers can customize this behavior by passing processEventErrorHandler to the constructor
|
|
75
|
+
async function defaultProcessEventErrorHandler(args) {
|
|
76
|
+
const { error, response, logger, storedResponse } = args;
|
|
77
|
+
if ('code' in error) {
|
|
78
|
+
// CodedError has code: string
|
|
79
|
+
const errorCode = error.code;
|
|
80
|
+
if (errorCode === errors_1.ErrorCode.AuthorizationError) {
|
|
81
|
+
// authorize function threw an exception, which means there is no valid installation data
|
|
82
|
+
response.writeHead(401);
|
|
83
|
+
response.end();
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
logger.error('An unhandled error occurred while Bolt processed an event');
|
|
88
|
+
logger.debug(`Error details: ${error}, storedResponse: ${storedResponse}`);
|
|
89
|
+
response.writeHead(500);
|
|
90
|
+
response.end();
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
exports.defaultProcessEventErrorHandler = defaultProcessEventErrorHandler;
|
|
94
|
+
// The default unhandledRequestHandler implementation:
|
|
95
|
+
// Developers can customize this behavior by passing unhandledRequestHandler to the constructor
|
|
96
|
+
// Note that this method cannot be an async function to align with the implementation using setTimeout
|
|
97
|
+
function defaultUnhandledRequestHandler(args) {
|
|
98
|
+
const { logger } = args;
|
|
99
|
+
logger.error('An incoming event was not acknowledged within 3 seconds. ' +
|
|
100
|
+
'Ensure that the ack() argument is called in a listener.');
|
|
101
|
+
}
|
|
102
|
+
exports.defaultUnhandledRequestHandler = defaultUnhandledRequestHandler;
|
|
12
103
|
/**
|
|
13
104
|
* Receives HTTP requests with Events, Slash Commands, and Actions
|
|
14
105
|
*/
|
|
15
106
|
class HTTPReceiver {
|
|
16
|
-
constructor({ signingSecret = '', endpoints = ['/slack/events'], logger = undefined, logLevel = logger_1.LogLevel.INFO, processBeforeResponse = false, clientId = undefined, clientSecret = undefined, stateSecret = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, }) {
|
|
107
|
+
constructor({ signingSecret = '', endpoints = ['/slack/events'], port = 3000, customRoutes = [], logger = undefined, logLevel = logger_1.LogLevel.INFO, processBeforeResponse = false, signatureVerification = true, clientId = undefined, clientSecret = undefined, stateSecret = undefined, redirectUri = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, customPropertiesExtractor = (_req) => ({}), dispatchErrorHandler = defaultDispatchErrorHandler, processEventErrorHandler = defaultProcessEventErrorHandler, unhandledRequestHandler = defaultUnhandledRequestHandler, unhandledRequestTimeoutMillis = 3001, }) {
|
|
17
108
|
var _a, _b, _c;
|
|
18
109
|
// Initialize instance variables, substituting defaults for each value
|
|
19
110
|
this.signingSecret = signingSecret;
|
|
20
111
|
this.processBeforeResponse = processBeforeResponse;
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
112
|
+
this.signatureVerification = signatureVerification;
|
|
113
|
+
this.logger = logger !== null && logger !== void 0 ? logger : (() => {
|
|
114
|
+
const defaultLogger = new logger_1.ConsoleLogger();
|
|
115
|
+
defaultLogger.setLevel(logLevel);
|
|
116
|
+
return defaultLogger;
|
|
117
|
+
})();
|
|
27
118
|
this.endpoints = Array.isArray(endpoints) ? endpoints : [endpoints];
|
|
119
|
+
this.port = (installerOptions === null || installerOptions === void 0 ? void 0 : installerOptions.port) ? installerOptions.port : port;
|
|
120
|
+
this.routes = (0, custom_routes_1.prepareRoutes)(customRoutes);
|
|
121
|
+
// Verify redirect options if supplied, throws coded error if invalid
|
|
122
|
+
(0, verify_redirect_opts_1.verifyRedirectOpts)({ redirectUri, redirectUriPath: installerOptions.redirectUriPath });
|
|
123
|
+
this.stateVerification = installerOptions.stateVerification;
|
|
28
124
|
// Initialize InstallProvider when it's required options are provided
|
|
29
125
|
if (clientId !== undefined &&
|
|
30
126
|
clientSecret !== undefined &&
|
|
31
|
-
(
|
|
127
|
+
(this.stateVerification === false || // state store not needed
|
|
128
|
+
stateSecret !== undefined ||
|
|
129
|
+
installerOptions.stateStore !== undefined) // user provided state store
|
|
130
|
+
) {
|
|
32
131
|
this.installer = new oauth_1.InstallProvider({
|
|
33
132
|
clientId,
|
|
34
133
|
clientSecret,
|
|
@@ -37,20 +136,31 @@ class HTTPReceiver {
|
|
|
37
136
|
logger,
|
|
38
137
|
logLevel,
|
|
39
138
|
stateStore: installerOptions.stateStore,
|
|
139
|
+
stateVerification: installerOptions.stateVerification,
|
|
40
140
|
authVersion: installerOptions.authVersion,
|
|
41
141
|
clientOptions: installerOptions.clientOptions,
|
|
42
142
|
authorizationUrl: installerOptions.authorizationUrl,
|
|
43
143
|
});
|
|
44
144
|
// Store the remaining instance variables that are related to using the InstallProvider
|
|
45
145
|
this.installPath = (_a = installerOptions.installPath) !== null && _a !== void 0 ? _a : '/slack/install';
|
|
146
|
+
this.directInstall = installerOptions.directInstall !== undefined && installerOptions.directInstall;
|
|
46
147
|
this.installRedirectUriPath = (_b = installerOptions.redirectUriPath) !== null && _b !== void 0 ? _b : '/slack/oauth_redirect';
|
|
148
|
+
this.installCallbackOptions = (_c = installerOptions.callbackOptions) !== null && _c !== void 0 ? _c : {};
|
|
47
149
|
this.installUrlOptions = {
|
|
48
150
|
scopes: scopes !== null && scopes !== void 0 ? scopes : [],
|
|
49
151
|
userScopes: installerOptions.userScopes,
|
|
50
152
|
metadata: installerOptions.metadata,
|
|
153
|
+
redirectUri,
|
|
51
154
|
};
|
|
52
|
-
this.installCallbackOptions = (_c = installerOptions.callbackOptions) !== null && _c !== void 0 ? _c : {};
|
|
53
155
|
}
|
|
156
|
+
this.renderHtmlForInstallPath = installerOptions.renderHtmlForInstallPath !== undefined ?
|
|
157
|
+
installerOptions.renderHtmlForInstallPath :
|
|
158
|
+
render_html_for_install_path_1.default;
|
|
159
|
+
this.customPropertiesExtractor = customPropertiesExtractor;
|
|
160
|
+
this.dispatchErrorHandler = dispatchErrorHandler;
|
|
161
|
+
this.processEventErrorHandler = processEventErrorHandler;
|
|
162
|
+
this.unhandledRequestHandler = unhandledRequestHandler;
|
|
163
|
+
this.unhandledRequestTimeoutMillis = unhandledRequestTimeoutMillis;
|
|
54
164
|
// Assign the requestListener property by binding the unboundRequestListener to this instance
|
|
55
165
|
this.requestListener = this.unboundRequestListener.bind(this);
|
|
56
166
|
}
|
|
@@ -72,17 +182,14 @@ class HTTPReceiver {
|
|
|
72
182
|
this.requestListener(req, res);
|
|
73
183
|
}
|
|
74
184
|
catch (error) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
res.writeHead(500);
|
|
84
|
-
res.end();
|
|
85
|
-
}
|
|
185
|
+
// You may get an error here only when the requestListener failed
|
|
186
|
+
// to start processing incoming requests, or your app receives a request to an unexpected path.
|
|
187
|
+
this.dispatchErrorHandler({
|
|
188
|
+
error: error,
|
|
189
|
+
logger: this.logger,
|
|
190
|
+
request: req,
|
|
191
|
+
response: res,
|
|
192
|
+
});
|
|
86
193
|
}
|
|
87
194
|
});
|
|
88
195
|
return new Promise((resolve, reject) => {
|
|
@@ -107,27 +214,37 @@ class HTTPReceiver {
|
|
|
107
214
|
// this.server?.removeAllListeners();
|
|
108
215
|
this.server = undefined;
|
|
109
216
|
});
|
|
110
|
-
|
|
217
|
+
let listenOptions = this.port;
|
|
218
|
+
if (portOrListenOptions !== undefined) {
|
|
219
|
+
if (typeof portOrListenOptions === 'number') {
|
|
220
|
+
listenOptions = portOrListenOptions;
|
|
221
|
+
}
|
|
222
|
+
else if (typeof portOrListenOptions === 'object') {
|
|
223
|
+
listenOptions = portOrListenOptions;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
this.server.listen(listenOptions, () => {
|
|
111
227
|
if (this.server === undefined) {
|
|
112
228
|
return reject(new errors_1.ReceiverInconsistentStateError(missingServerErrorDescription));
|
|
113
229
|
}
|
|
114
|
-
resolve(this.server);
|
|
230
|
+
return resolve(this.server);
|
|
115
231
|
});
|
|
116
232
|
});
|
|
117
233
|
}
|
|
118
234
|
// TODO: the arguments should be defined as the arguments to close() (which happen to be none), but for sake of
|
|
119
235
|
// generic types
|
|
120
236
|
stop() {
|
|
237
|
+
if (this.server === undefined) {
|
|
238
|
+
return Promise.reject(new errors_1.ReceiverInconsistentStateError('The receiver cannot be stopped because it was not started.'));
|
|
239
|
+
}
|
|
121
240
|
return new Promise((resolve, reject) => {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
this.server.close((error) => {
|
|
241
|
+
var _a;
|
|
242
|
+
(_a = this.server) === null || _a === void 0 ? void 0 : _a.close((error) => {
|
|
126
243
|
if (error !== undefined) {
|
|
127
244
|
return reject(error);
|
|
128
245
|
}
|
|
129
246
|
this.server = undefined;
|
|
130
|
-
resolve();
|
|
247
|
+
return resolve();
|
|
131
248
|
});
|
|
132
249
|
});
|
|
133
250
|
}
|
|
@@ -136,6 +253,7 @@ class HTTPReceiver {
|
|
|
136
253
|
// NOTE: the domain and scheme of the following URL object are not necessarily accurate. The URL object is only
|
|
137
254
|
// meant to be used to parse the path and query
|
|
138
255
|
const { pathname: path } = new url_1.URL(req.url, `http://${req.headers.host}`);
|
|
256
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
139
257
|
const method = req.method.toUpperCase();
|
|
140
258
|
if (this.endpoints.includes(path) && method === 'POST') {
|
|
141
259
|
// Handle incoming ReceiverEvent
|
|
@@ -143,19 +261,32 @@ class HTTPReceiver {
|
|
|
143
261
|
}
|
|
144
262
|
if (this.installer !== undefined && method === 'GET') {
|
|
145
263
|
// When installer is defined then installPath and installRedirectUriPath are always defined
|
|
264
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
146
265
|
const [installPath, installRedirectUriPath] = [this.installPath, this.installRedirectUriPath];
|
|
266
|
+
// Visiting the installation endpoint
|
|
147
267
|
if (path === installPath) {
|
|
148
268
|
// Render installation path (containing Add to Slack button)
|
|
149
269
|
return this.handleInstallPathRequest(res);
|
|
150
270
|
}
|
|
271
|
+
// Installation has been initiated
|
|
151
272
|
if (path === installRedirectUriPath) {
|
|
152
273
|
// Handle OAuth callback request (to exchange authorization grant for a new access token)
|
|
153
274
|
return this.handleInstallRedirectRequest(req, res);
|
|
154
275
|
}
|
|
155
276
|
}
|
|
277
|
+
// Handle custom routes
|
|
278
|
+
if (Object.keys(this.routes).length) {
|
|
279
|
+
const match = this.routes[path] && this.routes[path][method] !== undefined;
|
|
280
|
+
if (match) {
|
|
281
|
+
return this.routes[path][method](req, res);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
156
284
|
// If the request did not match the previous conditions, an error is thrown. The error can be caught by the
|
|
157
285
|
// the caller in order to defer to other routing logic (similar to calling `next()` in connect middleware).
|
|
158
|
-
|
|
286
|
+
// If you would like to customize the HTTP repsonse for this pattern,
|
|
287
|
+
// implement your own dispatchErrorHandler that handles an exception
|
|
288
|
+
// with ErrorCode.HTTPReceiverDeferredRequestError.
|
|
289
|
+
throw new errors_1.HTTPReceiverDeferredRequestError(`Unhandled HTTP request (${method}) made to ${path}`, req, res);
|
|
159
290
|
}
|
|
160
291
|
handleIncomingEvent(req, res) {
|
|
161
292
|
// Wrapped in an async closure for ease of using await
|
|
@@ -165,10 +296,15 @@ class HTTPReceiver {
|
|
|
165
296
|
let body;
|
|
166
297
|
// Verify authenticity
|
|
167
298
|
try {
|
|
168
|
-
bufferedReq = await verify_request_1.verify({
|
|
299
|
+
bufferedReq = await (0, verify_request_1.verify)({
|
|
300
|
+
// If enabled: false, this method returns bufferredReq without verification
|
|
301
|
+
enabled: this.signatureVerification,
|
|
302
|
+
signingSecret: this.signingSecret,
|
|
303
|
+
}, req);
|
|
169
304
|
}
|
|
170
305
|
catch (err) {
|
|
171
|
-
|
|
306
|
+
const e = err;
|
|
307
|
+
this.logger.warn(`Request verification failed: ${e.message}`);
|
|
172
308
|
res.writeHead(401);
|
|
173
309
|
res.end();
|
|
174
310
|
return;
|
|
@@ -181,13 +317,13 @@ class HTTPReceiver {
|
|
|
181
317
|
body = parseBody(bufferedReq);
|
|
182
318
|
}
|
|
183
319
|
catch (err) {
|
|
184
|
-
|
|
320
|
+
const e = err;
|
|
321
|
+
this.logger.warn(`Malformed request body: ${e.message}`);
|
|
185
322
|
res.writeHead(400);
|
|
186
323
|
res.end();
|
|
187
324
|
return;
|
|
188
325
|
}
|
|
189
326
|
// Handle SSL checks
|
|
190
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
191
327
|
if (body.ssl_check) {
|
|
192
328
|
res.writeHead(200);
|
|
193
329
|
res.end();
|
|
@@ -203,10 +339,13 @@ class HTTPReceiver {
|
|
|
203
339
|
let isAcknowledged = false;
|
|
204
340
|
setTimeout(() => {
|
|
205
341
|
if (!isAcknowledged) {
|
|
206
|
-
this.
|
|
207
|
-
|
|
342
|
+
this.unhandledRequestHandler({
|
|
343
|
+
logger: this.logger,
|
|
344
|
+
request: req,
|
|
345
|
+
response: res,
|
|
346
|
+
});
|
|
208
347
|
}
|
|
209
|
-
},
|
|
348
|
+
}, this.unhandledRequestTimeoutMillis);
|
|
210
349
|
// Structure the ReceiverEvent
|
|
211
350
|
let storedResponse;
|
|
212
351
|
const event = {
|
|
@@ -218,7 +357,8 @@ class HTTPReceiver {
|
|
|
218
357
|
}
|
|
219
358
|
isAcknowledged = true;
|
|
220
359
|
if (this.processBeforeResponse) {
|
|
221
|
-
//
|
|
360
|
+
// In the case where processBeforeResponse: true is enabled, we don't send the HTTP response immediately.
|
|
361
|
+
// We hold off until the listener execution is completed.
|
|
222
362
|
if (!response) {
|
|
223
363
|
storedResponse = '';
|
|
224
364
|
}
|
|
@@ -228,7 +368,6 @@ class HTTPReceiver {
|
|
|
228
368
|
this.logger.debug('ack() response stored');
|
|
229
369
|
}
|
|
230
370
|
else {
|
|
231
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
232
371
|
if (!response) {
|
|
233
372
|
res.writeHead(200);
|
|
234
373
|
res.end();
|
|
@@ -244,11 +383,15 @@ class HTTPReceiver {
|
|
|
244
383
|
this.logger.debug('ack() response sent');
|
|
245
384
|
}
|
|
246
385
|
},
|
|
386
|
+
retryNum: (0, http_utils_1.extractRetryNum)(req),
|
|
387
|
+
retryReason: (0, http_utils_1.extractRetryReason)(req),
|
|
388
|
+
customProperties: this.customPropertiesExtractor(bufferedReq),
|
|
247
389
|
};
|
|
248
390
|
// Send the event to the app for processing
|
|
249
391
|
try {
|
|
250
392
|
await ((_a = this.app) === null || _a === void 0 ? void 0 : _a.processEvent(event));
|
|
251
393
|
if (storedResponse !== undefined) {
|
|
394
|
+
// in the case of processBeforeResponse: true
|
|
252
395
|
if (typeof storedResponse === 'string') {
|
|
253
396
|
res.writeHead(200);
|
|
254
397
|
res.end(storedResponse);
|
|
@@ -260,11 +403,19 @@ class HTTPReceiver {
|
|
|
260
403
|
this.logger.debug('stored response sent');
|
|
261
404
|
}
|
|
262
405
|
}
|
|
263
|
-
catch (
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
406
|
+
catch (error) {
|
|
407
|
+
const acknowledgedByHandler = await this.processEventErrorHandler({
|
|
408
|
+
error: error,
|
|
409
|
+
logger: this.logger,
|
|
410
|
+
request: req,
|
|
411
|
+
response: res,
|
|
412
|
+
storedResponse,
|
|
413
|
+
});
|
|
414
|
+
if (acknowledgedByHandler) {
|
|
415
|
+
// If the value is false, we don't touch the value as a race condition
|
|
416
|
+
// with ack() call may occur especially when processBeforeResponse: false
|
|
417
|
+
isAcknowledged = true;
|
|
418
|
+
}
|
|
268
419
|
}
|
|
269
420
|
})();
|
|
270
421
|
}
|
|
@@ -278,32 +429,58 @@ class HTTPReceiver {
|
|
|
278
429
|
try {
|
|
279
430
|
// This function is only called from within unboundRequestListener after checking that installer is defined, and
|
|
280
431
|
// when installer is defined then installUrlOptions is always defined too.
|
|
432
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
281
433
|
const [installer, installUrlOptions] = [this.installer, this.installUrlOptions];
|
|
282
434
|
// Generate the URL for the "Add to Slack" button.
|
|
283
|
-
const url = await installer.generateInstallUrl(installUrlOptions);
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
435
|
+
const url = await installer.generateInstallUrl(installUrlOptions, this.stateVerification);
|
|
436
|
+
if (this.directInstall !== undefined && this.directInstall) {
|
|
437
|
+
// If a Slack app sets "Direct Install URL" in the Slack app configruation,
|
|
438
|
+
// the installation flow of the app should start with the Slack authorize URL.
|
|
439
|
+
// See https://api.slack.com/start/distributing/directory#direct_install for more details.
|
|
440
|
+
res.writeHead(302, { Location: url });
|
|
441
|
+
res.end('');
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
// The installation starts from a landing page served by this app.
|
|
445
|
+
// Generate HTML response body
|
|
446
|
+
const body = this.renderHtmlForInstallPath(url);
|
|
447
|
+
// Serve a basic HTML page including the "Add to Slack" button.
|
|
448
|
+
// Regarding headers:
|
|
449
|
+
// - Content-Type is usually automatically detected by browsers
|
|
450
|
+
// - Content-Length is not used because Transfer-Encoding='chunked' is automatically used.
|
|
451
|
+
res.writeHead(200);
|
|
452
|
+
res.end(body);
|
|
453
|
+
}
|
|
292
454
|
}
|
|
293
455
|
catch (err) {
|
|
456
|
+
const e = err;
|
|
294
457
|
this.logger.error('An unhandled error occurred while Bolt processed a request to the installation path');
|
|
295
|
-
this.logger.debug(`Error details: ${
|
|
458
|
+
this.logger.debug(`Error details: ${e}`);
|
|
296
459
|
}
|
|
297
460
|
})();
|
|
298
461
|
}
|
|
299
462
|
handleInstallRedirectRequest(req, res) {
|
|
300
463
|
// This function is only called from within unboundRequestListener after checking that installer is defined, and
|
|
301
464
|
// when installer is defined then installCallbackOptions is always defined too.
|
|
302
|
-
|
|
303
|
-
installer
|
|
465
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
466
|
+
const [installer, installCallbackOptions, installUrlOptions] = [
|
|
467
|
+
this.installer,
|
|
468
|
+
this.installCallbackOptions,
|
|
469
|
+
this.installUrlOptions,
|
|
470
|
+
];
|
|
471
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
472
|
+
const errorHandler = (err) => {
|
|
304
473
|
this.logger.error('HTTPReceiver encountered an unexpected error while handling the OAuth install redirect. Please report to the maintainers.');
|
|
305
474
|
this.logger.debug(`Error details: ${err}`);
|
|
306
|
-
}
|
|
475
|
+
};
|
|
476
|
+
if (this.stateVerification === false) {
|
|
477
|
+
// when stateVerification is disabled pass install options directly to handler
|
|
478
|
+
// since they won't be encoded in the state param of the generated url
|
|
479
|
+
installer.handleCallback(req, res, installCallbackOptions, installUrlOptions).catch(errorHandler);
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
installer.handleCallback(req, res, installCallbackOptions).catch(errorHandler);
|
|
483
|
+
}
|
|
307
484
|
}
|
|
308
485
|
}
|
|
309
486
|
exports.default = HTTPReceiver;
|
|
@@ -312,7 +489,7 @@ function parseBody(req) {
|
|
|
312
489
|
const bodyAsString = req.rawBody.toString();
|
|
313
490
|
const contentType = req.headers['content-type'];
|
|
314
491
|
if (contentType === 'application/x-www-form-urlencoded') {
|
|
315
|
-
const parsedQs = querystring_1.parse(bodyAsString);
|
|
492
|
+
const parsedQs = (0, querystring_1.parse)(bodyAsString);
|
|
316
493
|
const { payload } = parsedQs;
|
|
317
494
|
if (typeof payload === 'string') {
|
|
318
495
|
return JSON.parse(payload);
|
|
@@ -321,38 +498,4 @@ function parseBody(req) {
|
|
|
321
498
|
}
|
|
322
499
|
return JSON.parse(bodyAsString);
|
|
323
500
|
}
|
|
324
|
-
// Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
|
|
325
|
-
const httpsOptionKeys = [
|
|
326
|
-
'ALPNProtocols',
|
|
327
|
-
'clientCertEngine',
|
|
328
|
-
'enableTrace',
|
|
329
|
-
'handshakeTimeout',
|
|
330
|
-
'rejectUnauthorized',
|
|
331
|
-
'requestCert',
|
|
332
|
-
'sessionTimeout',
|
|
333
|
-
'SNICallback',
|
|
334
|
-
'ticketKeys',
|
|
335
|
-
'pskCallback',
|
|
336
|
-
'pskIdentityHint',
|
|
337
|
-
'ca',
|
|
338
|
-
'cert',
|
|
339
|
-
'sigalgs',
|
|
340
|
-
'ciphers',
|
|
341
|
-
'clientCertEngine',
|
|
342
|
-
'crl',
|
|
343
|
-
'dhparam',
|
|
344
|
-
'ecdhCurve',
|
|
345
|
-
'honorCipherOrder',
|
|
346
|
-
'key',
|
|
347
|
-
'privateKeyEngine',
|
|
348
|
-
'privateKeyIdentifier',
|
|
349
|
-
'maxVersion',
|
|
350
|
-
'minVersion',
|
|
351
|
-
'passphrase',
|
|
352
|
-
'pfx',
|
|
353
|
-
'secureOptions',
|
|
354
|
-
'secureProtocol',
|
|
355
|
-
'sessionIdContext',
|
|
356
|
-
];
|
|
357
|
-
const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
|
|
358
501
|
//# sourceMappingURL=HTTPReceiver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPReceiver.js","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HTTPReceiver.js","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,39 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { SocketModeClient } from '@slack/socket-mode';
|
|
3
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
2
4
|
import { Logger, LogLevel } from '@slack/logger';
|
|
3
5
|
import { InstallProvider, CallbackOptions, InstallProviderOptions, InstallURLOptions } from '@slack/oauth';
|
|
4
6
|
import { AppsConnectionsOpenResponse } from '@slack/web-api';
|
|
5
7
|
import App from '../App';
|
|
6
8
|
import { Receiver } from '../types';
|
|
9
|
+
import { StringIndexed } from '../types/helpers';
|
|
7
10
|
export interface SocketModeReceiverOptions {
|
|
8
11
|
logger?: Logger;
|
|
9
12
|
logLevel?: LogLevel;
|
|
10
13
|
clientId?: string;
|
|
11
14
|
clientSecret?: string;
|
|
12
15
|
stateSecret?: InstallProviderOptions['stateSecret'];
|
|
16
|
+
redirectUri?: string;
|
|
13
17
|
installationStore?: InstallProviderOptions['installationStore'];
|
|
14
18
|
scopes?: InstallURLOptions['scopes'];
|
|
15
19
|
installerOptions?: InstallerOptions;
|
|
16
20
|
appToken: string;
|
|
21
|
+
customRoutes?: CustomRoute[];
|
|
22
|
+
customPropertiesExtractor?: (args: any) => StringIndexed;
|
|
23
|
+
}
|
|
24
|
+
export interface CustomRoute {
|
|
25
|
+
path: string;
|
|
26
|
+
method: string | string[];
|
|
27
|
+
handler: (req: IncomingMessage, res: ServerResponse) => void;
|
|
17
28
|
}
|
|
18
29
|
interface InstallerOptions {
|
|
19
30
|
stateStore?: InstallProviderOptions['stateStore'];
|
|
31
|
+
stateVerification?: InstallProviderOptions['stateVerification'];
|
|
20
32
|
authVersion?: InstallProviderOptions['authVersion'];
|
|
21
33
|
metadata?: InstallURLOptions['metadata'];
|
|
22
34
|
installPath?: string;
|
|
35
|
+
directInstall?: boolean;
|
|
36
|
+
renderHtmlForInstallPath?: (url: string) => string;
|
|
23
37
|
redirectUriPath?: string;
|
|
24
38
|
callbackOptions?: CallbackOptions;
|
|
25
39
|
userScopes?: InstallURLOptions['userScopes'];
|
|
@@ -35,7 +49,10 @@ export default class SocketModeReceiver implements Receiver {
|
|
|
35
49
|
private app;
|
|
36
50
|
private logger;
|
|
37
51
|
installer: InstallProvider | undefined;
|
|
38
|
-
|
|
52
|
+
private httpServer?;
|
|
53
|
+
private httpServerPort?;
|
|
54
|
+
private routes;
|
|
55
|
+
constructor({ appToken, logger, logLevel, clientId, clientSecret, stateSecret, redirectUri, installationStore, scopes, installerOptions, customRoutes, customPropertiesExtractor, }: SocketModeReceiverOptions);
|
|
39
56
|
init(app: App): void;
|
|
40
57
|
start(): Promise<AppsConnectionsOpenResponse>;
|
|
41
58
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketModeReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/SocketModeReceiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SocketModeReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/SocketModeReceiver.ts"],"names":[],"mappings":"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"}
|