in core/nodejsActionBase/platform/knative.js [174:209]
function preProcessHTTPContext(req, valueData) {
try {
if (valueData.raw) {
// __ow_body is a base64 encoded string when content is binary or JSON object/array,
// or plain string otherwise.
if (typeof req.body.value === "string" && req.body.value !== undefined) {
valueData.__ow_body = req.body.value;
} else {
// make value data available as __ow_body
const tmpBody = Object.assign({}, req.body.value);
// delete main, binary, raw, and code from the body before sending it as an action argument
removeInitData(tmpBody);
delete tmpBody.main;
delete tmpBody.code;
delete tmpBody.binary;
delete tmpBody.raw;
var bodyStr = JSON.stringify(tmpBody);
// note: we produce an empty map if there are no query parms/
valueData.__ow_body = Buffer.from(bodyStr).toString("base64");;
}
valueData.__ow_query = req.query;
}
var namespace = "";
if (process.env[OW_ENV_PREFIX + "NAMESPACE"] !== undefined) {
namespace = process.env[OW_ENV_PREFIX + "NAMESPACE"];
}
valueData.__ow_user = namespace;
valueData.__ow_method = req.method;
valueData.__ow_headers = req.headers;
valueData.__ow_path = "";
} catch (e) {
console.error(e);
throw ("Unable to process HTTP Context: " + e.message)
}
}