PageSourceSearch

https://www.honeywellaerospace.com/etc.clientlibs/baseline-tenant/…ker.min.40f8321078d1458cfd6bdecc92377f48.js

js honeywellaerospace.com collected 2026-10-09 22:41:21 UTC 6,461 bytes, 211 lines download raw bytes

1function setupWebWorker() {
2    if (window.Worker) {
3        const workerScript = apiWebWorker.toString().match(/function[^{]+\{([\s\S]*)\}$/)[1];
4        let blob;
5        try {
6            // Creating js file using blob
7            blob = new Blob([workerScript], { type: 'application/javascript' });
8        } catch (e) { // Backwards-compatibility
9            window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
10            blob = new BlobBuilder();
11            blob.append(workerScript);
12            blob = blob.getBlob();
13        }
14
15        const worker = new Worker(URL.createObjectURL(blob));
16        return worker;
17    } else {
18        console.error("Web Workers are not supported in your browser.");
19        return null;
20    }
21}
22
23function apiWebWorker() {
24    self.addEventListener('message', function (e) {
25        const { url, method, headers, body, entitlement } = e.data;
26
27        let serializedBody;
28        if (entitlement) {
29            serializedBody = method === 'POST' ? Object.keys(body).map(key => encodeURIComponent(key) + '=' + encodeURIComponent(body[key])).join('&') : null;
30        }
31        else {
32            serializedBody = method === 'POST' ? body : null;
33        }
34        fetch(url, {
35            method: method,
36            headers: headers,
37            dataType: 'json',
38            body: serializedBody
39        })
40            .then(response => response.json())
41            .then(data => {
42                self.postMessage({ status: 'success', data: data });
43            })
44            .catch(error => {
45                self.postMessage({ status: 'error', error: error.message });
46            });
47    });
48}
49// Function to perform API calls using the Web Worker
50async function apiCallWorker(worker, url, method, headers, body, entitlement) {
51
52    return new Promise((resolve, reject) => {
53        if (!worker) {
54            reject('Worker not initialized');
55            return;
56        }
57        // Setup message handling from the worker
58        worker.onmessage = function (e) {
59            const { status, data, error } = e.data || {};
60            if (status === 'success') {
61                resolve(data);
62            } else {
63                reject(error);
64            }
65        };
66        // Setup error handling from the worker
67        worker.onerror = function (error) {
68            reject('Worker error: ' + error.message);
69        };
70        // Post the request data to the worker
71        worker.postMessage({ url, method, headers, body, entitlement });
72
73    });
74}
75
76if (typeof module !== 'undefined' && module.exports) {
77    module.exports = {
78        setupWebWorker,
79        apiCallWorker,
80    };
81}
82var Web_Worker_Util = (function () {
83    var _getAPIWebWorkerInstance = function (apiMethod) {
84        if (!window.Worker) {
85            console.error("Web Workers are not supported in your browser.");
86            return null;
87        }
88
89        let workerScript;
90
91        switch (apiMethod) {
92            case 'POST':
93                workerScript = _postApiWebWorker.toString().match(/function[^{]+\{([\s\S]*)\}$/)[1];
94                break;
95            case 'GET':
96                workerScript = _getApiWebWorker.toString().match(/function[^{]+\{([\s\S]*)\}$/)[1];
97                break;
98        }
99
100        if (!workerScript) {
101            return null;
102        }
103
104        let blob;
105        try {
106            blob = new Blob([workerScript], { type: 'application/javascript' });
107        } catch (e) {
108            const BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
109            const blobBuilder = new BlobBuilder();
110            blobBuilder.append(workerScript);
111            blob = blobBuilder.getBlob();
112        }
113
114        try {
115            return new Worker(URL.createObjectURL(blob));
116        } catch (error) {
117            console.log("cannot create web worker instance");
118        }
119
120        return null;
121    };
122
123    return {
124        // return the util functions to Search Module context
125        _getAPIWebWorkerInstance: _getAPIWebWorkerInstance,
126    };
127})();
128
129function _postApiWebWorker() {
130    self.addEventListener('message', function (e) {
131        const { url, headers, body, dataType, serialization } = e.data;
132
133        const serializeBody = (body) => {
134            return Object.keys(body)
135                .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(body[key])}`)
136                .join('&');
137        };
138
139        const serializedBody = serialization ? serializeBody(body) : JSON.stringify(body);
140
141        const options = {
142            method: 'POST',
143            headers: headers,
144            body: serializedBody
145        };
146
147        if (dataType) {
148            options.dataType = dataType;
149        }
150
151        fetch(url, options)
152            .then(response => response.json())
153            .then(data => {
154                self.postMessage({ status: 'success', data });
155            })
156            .catch(error => {
157                self.postMessage({ status: 'error', error: error.message });
158            });
159    });
160}
161
162function _getApiWebWorker() {
163    self.addEventListener('message', function (e) {
164        const { url, headers, body, dataType, serialization } = e.data;
165
166        const options = {
167            method: 'GET',
168            headers: headers
169        };
170
171        if (body) {
172            const serializeBody = (body) => {
173                return Object.keys(body)
174                    .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(body[key])}`)
175                    .join('&');
176            };
177
178            const serializedBody = serialization ? serializeBody(body) : JSON.stringify(body);
179
180            options.body = serializedBody;
181        }
182
183        if (dataType) {
184            options.dataType = dataType;
185        }
186
187        fetch(url, options)
188            .then(response => {
189                if (dataType && dataType === 'html') {
190                    return response.text();
191                } else {
192                    return response.json();
193                }
194            })
195            .then(data => {
196                self.postMessage({ status: 'success', data });
197            })
198            .catch(error => {
199                self.postMessage({ status: 'error', error: error.message });
200            });
201    });
202}
203
204if (typeof module !== 'undefined' && module.exports) {
205    module.exports = {
206        Web_Worker_Util,
207        _postApiWebWorker,
208        _getApiWebWorker,
209    };
210}
211

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.