Skip to content

Commit 5ecd2b9

Browse files
flovilmartshivangagarwal
authored andcommitted
Makes sure routes don't overlap and yield a header set error (parse-community#2559)
1 parent 10b7bed commit 5ecd2b9

File tree

4 files changed

+13
-9
lines changed

4 files changed

+13
-9
lines changed

src/Controllers/AnalyticsController.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import AdaptableController from './AdaptableController';
22
import { AnalyticsAdapter } from '../Adapters/Analytics/AnalyticsAdapter';
33

4+
const AppOpenedEventName = 'AppOpened';
5+
46
export class AnalyticsController extends AdaptableController {
57
appOpened(req) {
68
return Promise.resolve().then(() => {
@@ -13,8 +15,12 @@ export class AnalyticsController extends AdaptableController {
1315
}
1416

1517
trackEvent(req) {
18+
const eventName = req.params.eventName;
19+
if (eventName === AppOpenedEventName) {
20+
return this.appOpened(req);
21+
}
1622
return Promise.resolve().then(() => {
17-
return this.adapter.trackEvent(req.params.eventName, req.body, req);
23+
return this.adapter.trackEvent(eventName, req.body, req);
1824
}).then((response) => {
1925
return { response: response || {} };
2026
}).catch((err) => {

src/Routers/AnalyticsRouter.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
// AnalyticsRouter.js
22
import PromiseRouter from '../PromiseRouter';
33

4-
function appOpened(req) {
5-
const analyticsController = req.config.analyticsController;
6-
return analyticsController.appOpened(req);
7-
}
8-
94
function trackEvent(req) {
105
const analyticsController = req.config.analyticsController;
116
return analyticsController.trackEvent(req);
@@ -14,7 +9,6 @@ function trackEvent(req) {
149

1510
export class AnalyticsRouter extends PromiseRouter {
1611
mountRoutes() {
17-
this.route('POST','/events/AppOpened', appOpened);
1812
this.route('POST','/events/:eventName', trackEvent);
1913
}
2014
}

src/Routers/SessionsRouter.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ export class SessionsRouter extends ClassesRouter {
1313
}
1414

1515
handleGet(req) {
16+
if (req.params.objectId === 'me') {
17+
return this.handleMe(req);
18+
}
1619
req.params.className = '_Session';
1720
return super.handleGet(req);
1821
}
@@ -83,7 +86,6 @@ export class SessionsRouter extends ClassesRouter {
8386
}
8487

8588
mountRoutes() {
86-
this.route('GET','/sessions/me', req => { return this.handleMe(req); });
8789
this.route('GET', '/sessions', req => { return this.handleFind(req); });
8890
this.route('GET', '/sessions/:objectId', req => { return this.handleGet(req); });
8991
this.route('POST', '/sessions', req => { return this.handleCreate(req); });

src/Routers/UsersRouter.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ export class UsersRouter extends ClassesRouter {
1919
}
2020

2121
handleGet(req) {
22+
if (req.params.objectId === 'me') {
23+
return this.handleMe(req);
24+
}
2225
req.params.className = '_User';
2326
return super.handleGet(req);
2427
}
@@ -211,7 +214,6 @@ export class UsersRouter extends ClassesRouter {
211214
mountRoutes() {
212215
this.route('GET', '/users', req => { return this.handleFind(req); });
213216
this.route('POST', '/users', req => { return this.handleCreate(req); });
214-
this.route('GET', '/users/me', req => { return this.handleMe(req); });
215217
this.route('GET', '/users/:objectId', req => { return this.handleGet(req); });
216218
this.route('PUT', '/users/:objectId', req => { return this.handleUpdate(req); });
217219
this.route('DELETE', '/users/:objectId', req => { return this.handleDelete(req); });

0 commit comments

Comments
 (0)