Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/responders/webworker-responders.js
// @flow | // @flow | ||||
import type { $Request, $Response } from 'express'; | import type { $Request, $Response } from 'express'; | ||||
import path from 'path'; | import path from 'path'; | ||||
function webWorkerResponder(req: $Request, res: $Response): void { | function webWorkerResponder(req: $Request, res: $Response): void { | ||||
let workerPath; | let workerPath; | ||||
let headers = { 'Content-Type': 'application/javascript' }; | let headers = { 'Content-Type': 'application/javascript' }; | ||||
if (req.params.worker === 'notif') { | if (req.params.worker === 'notif') { | ||||
workerPath = 'pushNotif.build.js'; | workerPath = 'pushNotif.build.js'; | ||||
headers = { | headers = { | ||||
...headers, | ...headers, | ||||
'Service-Worker-Allowed': '/', | 'Service-Worker-Allowed': '/', | ||||
}; | }; | ||||
} else if (req.params.worker === 'database') { | |||||
workerPath = 'database.build.js'; | |||||
} | } | ||||
if (!workerPath) { | if (!workerPath) { | ||||
res.sendStatus(404); | res.sendStatus(404); | ||||
return; | return; | ||||
} | } | ||||
const filePath = path.resolve('app_compiled', 'webworkers', workerPath); | const filePath = path.resolve('app_compiled', 'webworkers', workerPath); | ||||
res.sendFile(filePath, { | res.sendFile(filePath, { | ||||
headers, | headers, | ||||
}); | }); | ||||
} | } | ||||
export { webWorkerResponder }; | export { webWorkerResponder }; |