Compose-ready workspace: packages/zappier (rate card, portal, Stripe), packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier (CLI app), vendor/zapier-platform, and research/zapier vendor corpus. Gate 0 structure checks pass. Product code and research are not yet wired.
22 lines
618 B
JavaScript
22 lines
618 B
JavaScript
const { promisify } = require('util');
|
|
|
|
const request = require('request');
|
|
const { runAsWorker } = require('synckit');
|
|
|
|
const { isMainThread } = require('worker_threads');
|
|
|
|
if (!isMainThread) {
|
|
const asyncRequest = promisify(request);
|
|
|
|
runAsWorker(async (options) => {
|
|
const response = await asyncRequest(options);
|
|
|
|
// Remove unnecessary fields as the result will serialized by
|
|
// https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
|
|
return {
|
|
statusCode: response.statusCode,
|
|
headers: { ...response.headers },
|
|
body: response.body,
|
|
};
|
|
});
|
|
}
|