Skip to content

Commit 7d7fcd3

Browse files
committed
FINISHED PRODUCT
1 parent 15c140b commit 7d7fcd3

File tree

8 files changed

+315
-537
lines changed

8 files changed

+315
-537
lines changed

main.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,3 +519,8 @@ ipcMain.on('stop-mock-server', () => {
519519
console.log('No mock server to kill');
520520
}
521521
});
522+
523+
ipcMain.on('error', (event, errorMessage) => {
524+
console.log(errorMessage);
525+
dialog.showErrorBox('Title', errorMessage);
526+
});

main_process/main_trpcController.js

Lines changed: 65 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4,72 +4,74 @@ const { ipcMain } = require('electron');
44

55
const trpcController = {
66
makeFetch: async function (event, reqRes, get, post) {
7-
reqRes.timeSent = Date.now();
8-
//[{name:"cookie"}]
9-
// const cookies = [
10-
// { name: "POSTCOOKIE", value: "POSTCOOKIEVAL" },
11-
// { name: "GETCOOKIE", value: "GETCOOKIEVAL" },
12-
// ];
13-
const cookies = [];
14-
const getHeaders = {};
15-
const postHeaders = {};
16-
const events = [];
7+
try {
8+
reqRes.timeSent = Date.now();
9+
const cookies = [];
10+
const getHeaders = {};
11+
const postHeaders = {};
12+
const events = [];
1713

18-
const reqArr = [get, post];
19-
const resArr = await Promise.all(
20-
reqArr.map((req) => {
21-
if (req) {
22-
return fetch(req.url, {
23-
// credentials: req.credentials,
24-
// mode: req.mode,
25-
cache: req.cache,
26-
headers: req.headers,
27-
method: req.method,
28-
redirect: req.redirect,
29-
referrer: req.referrer,
30-
...(req.body && { body: JSON.stringify(req.body) }),
31-
});
32-
} else {
33-
return Promise.resolve(false);
34-
}
35-
})
36-
);
37-
reqRes.timeReceived = Date.now();
38-
resArr.forEach((res, index) => {
39-
if (res) {
40-
const headersResponse = res.headers.raw();
41-
if (headersResponse['set-cookie']) {
42-
cookies.push(
43-
...this.cookieFormatter(
44-
setCookie.parse(headersResponse['set-cookie'])
45-
)
46-
);
47-
}
48-
if (index === 0) {
49-
res.headers.forEach((value, key) => {
50-
getHeaders[key] = value;
51-
});
52-
} else {
53-
res.headers.forEach((value, key) => {
54-
postHeaders[key] = value;
55-
});
14+
const reqArr = [get, post];
15+
const resArr = await Promise.all(
16+
reqArr.map((req) => {
17+
if (req) {
18+
return fetch(req.url, {
19+
// credentials: req.credentials,
20+
// mode: req.mode,
21+
cache: req.cache,
22+
headers: req.headers,
23+
method: req.method,
24+
redirect: req.redirect,
25+
referrer: req.referrer,
26+
...(req.body && { body: JSON.stringify(req.body) }),
27+
});
28+
} else {
29+
return Promise.resolve(false);
30+
}
31+
})
32+
);
33+
reqRes.timeReceived = Date.now();
34+
resArr.forEach((res, index) => {
35+
if (res) {
36+
const headersResponse = res.headers.raw();
37+
if (headersResponse['set-cookie']) {
38+
cookies.push(
39+
...this.cookieFormatter(
40+
setCookie.parse(headersResponse['set-cookie'])
41+
)
42+
);
43+
}
44+
if (index === 0) {
45+
res.headers.forEach((value, key) => {
46+
getHeaders[key] = value;
47+
});
48+
} else {
49+
res.headers.forEach((value, key) => {
50+
postHeaders[key] = value;
51+
});
52+
}
5653
}
57-
}
58-
});
54+
});
5955

60-
const resData = await Promise.all(
61-
resArr.map((res) => {
62-
return res ? res.json() : res;
63-
})
64-
);
65-
console.dir(resData, { depth: null });
66-
resData.forEach((res) => events.push(res));
67-
reqRes.response.cookies = cookies;
68-
reqRes.response.events = events;
69-
reqRes.response.headers = [getHeaders, postHeaders];
70-
reqRes.connection = 'closed';
71-
reqRes.connectionType = 'plain';
72-
event.sender.send('reqResUpdate', reqRes);
56+
const resData = await Promise.all(
57+
resArr.map((res) => {
58+
return res ? res.json() : res;
59+
})
60+
);
61+
console.dir(resData, { depth: null });
62+
resData.forEach((res) => events.push(res));
63+
reqRes.response.cookies = cookies;
64+
reqRes.response.events = events;
65+
reqRes.response.headers = [getHeaders, postHeaders];
66+
reqRes.connection = 'closed';
67+
reqRes.connectionType = 'plain';
68+
event.sender.send('reqResUpdate', reqRes);
69+
} catch (error) {
70+
reqRes.connection = 'error';
71+
reqRes.error = error;
72+
reqRes.response.events.push(error);
73+
event.sender.send('reqResUpdate', reqRes);
74+
}
7375
},
7476
parseOptionForFetch(reqResObject, method, procedures) {
7577
function parseString(str) {

preload.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const apiObj = {
3030
'stop-mock-server',
3131
'submit-mock-request',
3232
'open-trpc',
33+
'error',
3334
];
3435
if (allowedChannels.includes(channel)) {
3536
ipcRenderer.send(channel, ...data);

src/assets/style/App.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@
1010
@import '~bulma-switch';
1111
@import '~bulma-checkradio';
1212

13+
.CodeMirror {
14+
height: 800px;
15+
}
16+

0 commit comments

Comments
 (0)