cloudworker-proxy
Version:
An api gateway for cloudflare workers
53 lines (46 loc) • 2.33 kB
JavaScript
/**
* Copyright (c) 2018, Cloudflare. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
const path = require("path");
const fs = require("fs");
const webpack = require("../../utils/webpack");
const generateCode = (serverless, functionObject) => {
let { script } = functionObject;
const rootPath = webpack.getAssetPathPrefix(serverless, functionObject)
if (path.extname(script) != ".js") {
script = `${rootPath}${script}.js`
}
return fs.readFileSync(script).toString();
};
/**
* Builds the list of wasm objects for script deployment
* @param {} functionObject
*/
const generateWASM = (functionObject) => {
let wasm = [];
if (functionObject && functionObject.resources && functionObject.resources.wasm) {
functionObject.resources.wasm.map((w) => {
wasm.push(w.file);
})
}
return wasm;
}
module.exports = {
generateCode,
generateWASM
};