Skip to content

Commit 9cd8d6d

Browse files
committed
add cookie support by using ipc to send delimited cookie to mainWindow session
1 parent f68663b commit 9cd8d6d

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

app/components/App.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Modal.setAppElement(document.getElementById('react-root'));
1111

1212
import HTTPHeaderEditor from './HTTPHeaderEditor';
1313

14-
1514
export default class App extends React.Component {
1615
constructor() {
1716
super();
@@ -151,7 +150,7 @@ export default class App extends React.Component {
151150

152151
graphQLFetcher = (graphQLParams) => {
153152
const defaultHeaders = {
154-
'Content-Type': 'application/json'
153+
'Content-Type': 'application/json',
155154
};
156155

157156
const { endpoint, method, headers } = this.getCurrentTab();
@@ -163,15 +162,16 @@ export default class App extends React.Component {
163162
}
164163

165164
url += url.indexOf('?') == -1 ? "?" : "&";
166-
167165
return fetch(url + "query=" + encodeURIComponent(graphQLParams['query']) + "&variables=" + encodeURIComponent(graphQLParams['variables']), {
166+
credentials: 'include',
168167
method: method,
169168
credentials: 'include',
170169
headers: Object.assign({}, defaultHeaders, headers),
171170
body: null
172171
}).then(response => response.json());
173172
}
174173
return fetch(endpoint, {
174+
credentials: 'include',
175175
method: method,
176176
credentials: 'include',
177177
headers: Object.assign({}, defaultHeaders, headers),

app/components/HTTPHeaderEditor.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import _ from 'lodash';
22
import React from 'react';
33
import ReactDOM from 'react-dom';
44
// import Radium from 'radium';
5+
const ipcRenderer = window.require('electron').ipcRenderer;
56

67
export default class HTTPHeaderEditor extends React.Component {
78
constructor(props) {
@@ -28,6 +29,15 @@ export default class HTTPHeaderEditor extends React.Component {
2829
}
2930

3031
completeAdd = () => {
32+
if (ReactDOM.findDOMNode(this.newKeyInput).value === 'Cookie') {
33+
var val = ReactDOM.findDOMNode(this.newValInput).value;
34+
//console.log(val);
35+
var cookieParts = val.split('!!!');
36+
console.log('url: ', cookieParts[0]);
37+
console.log('name: ', cookieParts[1]);
38+
console.log('value: ', cookieParts[2]);
39+
ipcRenderer.send('set-cookie', { url: cookieParts[0], name: cookieParts[1], value: cookieParts[2]});
40+
};
3141
this.setState({
3242
headers: [
3343
...this.state.headers,

main.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@ app.on('ready', function() {
2323

2424
mainWindow = new BrowserWindow({ width: 1024, height: 728 });
2525

26+
electron.ipcMain.on('set-cookie', (event, arg) => {
27+
//console.log('SET COOKIE E: ', event);
28+
//console.log('SET COOKIE ARG: ', arg);
29+
mainWindow.webContents.session.cookies.set(arg,
30+
function(error, cookies) {
31+
if (error) throw error;
32+
console.log('Update Cookies!!!:', cookies);
33+
}
34+
);
35+
});
36+
2637
if (process.env.HOT) {
2738
mainWindow.loadURL('file://' + __dirname + '/app/hot-dev-app.html');
2839
} else {

0 commit comments

Comments
 (0)