1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/app/scripts/lib/createOnboardingMiddleware.js
Alex Donesky 8df8f81df7
Deprecate extensionizer for webextension-polyfill (#13960)
* deprecate extensionizer for webextension-polyfill

* fix tests

* remove extensionizer

* fix browser windows api calls

* fix broken on firefox

* fix getAcceptLanguages call

* update more browser apis that are now promisified

* remove unnecessary console error ignoring in e2e tests
2022-03-18 14:07:05 -05:00

34 lines
950 B
JavaScript

import log from 'loglevel';
import browser from 'webextension-polyfill';
/**
* Returns a middleware that intercepts `wallet_registerOnboarding` messages
*
* @param {{ location: string, registerOnboarding: Function }} opts - The middleware options
* @returns {(req: any, res: any, next: Function, end: Function) => void}
*/
export default function createOnboardingMiddleware({
location,
registerOnboarding,
}) {
return async function originMiddleware(req, res, next, end) {
try {
if (req.method !== 'wallet_registerOnboarding') {
next();
return;
}
if (req.tabId && req.tabId !== browser.tabs.TAB_ID_NONE) {
await registerOnboarding(location, req.tabId);
} else {
log.debug(
`'wallet_registerOnboarding' message from ${location} ignored due to missing tabId`,
);
}
res.result = true;
end();
} catch (error) {
end(error);
}
};
}