I'm creating DialogFlow app and deployed fulfillment with Cloud Functions for Firebase which uses XMLHttpRequest. But following error occurred.
Error: EROFS: read-only file system, open '.node-xmlhttprequest-sync-2' at Error (native) at Object.fs.openSync (fs.js:642:18) at Object.fs.writeFileSync (fs.js:1348:33) at send (/user_code/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:477:10)
My code is something like this.
'use strict';
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const DialogflowApp = require('actions-on-google').DialogflowApp;
const XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
const googleAssistantRequest = 'google';
const Actions = {
UNRECOGNIZED_DEEP_LINK: 'deeplink.unknown',
TEST_HTTPREQUEST: 'test.httprequest'
};
const testHttpRequest = app => {
var req = new XMLHttpRequest();
req.open('GET', 'http://www.google.com', false);
req.send();
if (req.status === 200) {
console.log(req.responseText);
}
}
const actionMap = new Map();
actionMap.set(Actions.TEST_HTTPREQUEST, testHttpRequest);
exports.mytestapp = functions.https.onRequest((request, response) => {
const app = new DialogflowApp({ request, response });
console.log(`Request headers: ${JSON.stringify(request.headers)}`);
console.log(`Request body: ${JSON.stringify(request.body)}`);
app.handleRequest(actionMap);
});
Does anyone have idea on how to solve this error?