Merge pull request #395 from hashicorp/fix-empty-ipc-payload

fix: 🐛 IPC should check for method and handler for data
This commit is contained in:
Susmitha Girumala authored and GitHub committed 2020-11-24 10:16:24 -05:00
commit ef28377860
3 files changed
+12 -12

No files matched your search

+5 -6
View File
@@ -1,4 +1,5 @@
import Ember from 'ember';
import { assert } from '@ember/debug';
import config from '../config/environment';
/**
@@ -38,12 +39,10 @@ export function initialize() {
const mockIPC = new MockIPC();
window.addEventListener('message', async function (event) {
if (event.origin !== window.location.origin) return;
const { method, payload } = event.data;
if (method) {
const response =
await mockIPC.invoke(method, payload);
event.ports[0].postMessage(response);
}
const { method, payload } = event?.data ?? {};
assert(`IPC requires a method, you passed '${method}'.`, method);
const response = await mockIPC.invoke(method, payload);
event.ports[0].postMessage(response);
});
}
}
+1 -1
View File
@@ -25,6 +25,6 @@ ipcMain.handle('getOrigin', async (event, request) => {
*/
ipcMain.handle('setOrigin', async (event, request) => {
log('setOrigin', request);
origin = request.data;
origin = request?.data;
return origin;
});
+6 -5
View File
@@ -1,4 +1,5 @@
const { ipcRenderer } = require('electron');
// Messages must originate from this origin
const emberAppOrigin = window.location.origin;
@@ -16,10 +17,10 @@ process.once('loaded', () => {
*/
window.addEventListener('message', async function (event) {
if (event.origin !== emberAppOrigin) return;
const response = await ipcRenderer.invoke(
event.data.method,
event.data.payload
);
event.ports[0].postMessage(response);
const { method, payload } = event?.data ?? {};
if (method) {
const response = await ipcRenderer.invoke(method, payload);
event.ports[0].postMessage(response);
}
});
});