blob: 23912fe960da8b269961755497b76167b58a1da0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import SystemService from "@js/Services/SystemService";
export default new class PassLinkManager {
/**
*
*/
constructor() {
this._beforeRequestListener =
(d) => { return this._redirectRequest(d); };
}
/**
*
*/
init() {
SystemService.getBrowserApi().webRequest.onBeforeRequest.addListener(
this._beforeRequestListener,
{urls: ['https://passlink.mdns.eu/open/*']},
['blocking']
);
}
/**
*
* @param requestDetails
* @return {{cancel: boolean}|{redirectUrl: *}}
* @private
*/
_redirectRequest(requestDetails) {
let passlinkUrl = SystemService.getBrowserApi().runtime.getURL('html/passlink.html'),
eventUrl = requestDetails.url.replace('https://passlink.mdns.eu/open/', 'ext+passlink:');
passlinkUrl += '?link=' + encodeURIComponent(eventUrl);
SystemService.getBrowserApi().tabs.update(requestDetails.tabId, {url: passlinkUrl});
return {cancel: true};
}
};
|