Skip to content

Commit c6591d1

Browse files
committed
feat(suite-desktop-core): http-receiver route is activate when used by suite for the first time
1 parent 6293f4a commit c6591d1

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

packages/suite-desktop-core/src/__fixtures__/http.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
export const fixtures = [
22
{
33
method: 'GET',
4-
path: '/oauth?code=meow',
4+
path: '/oauth',
5+
search: '?code=meow',
56
result: {
67
emit: ['oauth/response', { search: '?code=meow' }],
78
response: {
@@ -11,7 +12,8 @@ export const fixtures = [
1112
},
1213
{
1314
method: 'GET',
14-
path: '/oauth?foo=moo',
15+
path: '/oauth',
16+
search: '?code=meow',
1517
result: {
1618
response: {
1719
status: 200,

packages/suite-desktop-core/src/__tests__/http.test.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ describe('http receiver', () => {
2727

2828
const address = receiver.getServerAddress();
2929
if (!address) return; // ts-stuff
30-
const url = `http://${address.address}:${address.port}${f.path}`;
30+
const url = `http://${address.address}:${address.port}${f.path}${f.search}`;
3131

32+
receiver.activateRoute(f.path);
3233
expect(spy).toHaveBeenLastCalledWith('server/listening', {
3334
port: 21335,
3435
address: '127.0.0.1',

packages/suite-desktop-core/src/libs/http-receiver.ts

+5
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ export const createHttpReceiver = () => {
9898
response.end(template);
9999
},
100100
]);
101+
httpReceiver.deactivateRoute('/oauth');
101102

102103
httpReceiver.get('/buy-redirect', [
103104
allowReferers(['', 'localhost:3000', '*.invity.io', 'invity.io']),
@@ -111,6 +112,7 @@ export const createHttpReceiver = () => {
111112
response.end(template);
112113
},
113114
]);
115+
httpReceiver.deactivateRoute('/buy-redirect');
114116

115117
httpReceiver.get('/buy-post', [
116118
allowReferers(['']), // No referer
@@ -148,6 +150,7 @@ export const createHttpReceiver = () => {
148150
}
149151
},
150152
]);
153+
httpReceiver.deactivateRoute('/buy-post');
151154

152155
httpReceiver.get('/sell-redirect', [
153156
allowReferers(['']), // No referer
@@ -161,6 +164,7 @@ export const createHttpReceiver = () => {
161164
response.end(template);
162165
},
163166
]);
167+
httpReceiver.deactivateRoute('/sell-redirect');
164168

165169
httpReceiver.get('/exchange-redirect', [
166170
allowReferers(['']), // No referer
@@ -174,6 +178,7 @@ export const createHttpReceiver = () => {
174178
response.end(template);
175179
},
176180
]);
181+
httpReceiver.deactivateRoute('/exchange-redirect');
177182

178183
return httpReceiver;
179184
};

packages/suite-desktop-core/src/modules/http-receiver.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,12 @@ export const initBackground: ModuleInitBackground = ({ mainWindowProxy, mainThre
5757
// when httpReceiver was asked to provide current address for given pathname
5858
ipcMain.handle('server/request-address', (ipcEvent, pathname) => {
5959
validateIpcMessage(ipcEvent);
60+
const address = receiver.getRouteAddress(pathname);
61+
if (address) {
62+
receiver.activateRoute(pathname);
63+
}
6064

61-
return receiver.getRouteAddress(pathname);
65+
return address;
6266
});
6367

6468
const connectPopupEnabled = app.commandLine.hasSwitch('expose-connect-ws') || isDevEnv;

0 commit comments

Comments
 (0)