Skip to content

Commit 8a99bf5

Browse files
authored
Merge pull request #7048 from topcoder-platform/promisify-fix
fix: debugging contentful routes
2 parents 902995b + efd67a8 commit 8a99bf5

File tree

1 file changed

+77
-43
lines changed

1 file changed

+77
-43
lines changed

src/server/routes/contentful.js

+77-43
Original file line numberDiff line numberDiff line change
@@ -30,39 +30,48 @@ routes.options('*', cors());
3030
routes.use(
3131
'/:spaceName/:environment/assets/:id/:version/:name',
3232
(req, res) => {
33-
const {
34-
environment,
35-
id,
36-
name,
37-
spaceName,
38-
version,
39-
} = req.params;
40-
const spaceId = getSpaceId(spaceName);
41-
if (!ALLOWED_DOMAINS.includes(ASSETS_DOMAIN)) {
42-
throw new Error('Invalid domain detected!');
33+
try {
34+
const {
35+
environment,
36+
id,
37+
name,
38+
spaceName,
39+
version,
40+
} = req.params;
41+
const spaceId = getSpaceId(spaceName);
42+
if (!ALLOWED_DOMAINS.includes(ASSETS_DOMAIN)) {
43+
console.log('Invalid domain detected!');
44+
throw new Error('Invalid domain detected!');
45+
}
46+
const url = new URL(`https://${ASSETS_DOMAIN}/spaces/${spaceId}/environments/${environment}/${id}/${version}/${name}`);
47+
res.redirect(url.href);
48+
} catch (e) {
49+
console.log('error in getting asset', e);
4350
}
44-
const url = new URL(`https://${ASSETS_DOMAIN}/spaces/${spaceId}/environments/${environment}/${id}/${version}/${name}`);
45-
res.redirect(url.href);
4651
},
4752
);
4853

4954
/* Gets image file. */
5055
routes.use(
5156
'/:spaceName/:environment/images/:id/:version/:name',
5257
(req, res) => {
53-
const {
54-
environment,
55-
id,
56-
name,
57-
spaceName,
58-
version,
59-
} = req.params;
60-
if (!ALLOWED_DOMAINS.includes(IMAGES_DOMAIN)) {
61-
throw new Error('Invalid domain detected!');
58+
try {
59+
const {
60+
environment,
61+
id,
62+
name,
63+
spaceName,
64+
version,
65+
} = req.params;
66+
if (!ALLOWED_DOMAINS.includes(IMAGES_DOMAIN)) {
67+
throw new Error('Invalid domain detected!');
68+
}
69+
const spaceId = getSpaceId(spaceName);
70+
const url = new URL(`https://${IMAGES_DOMAIN}/spaces/${spaceId}/environments/${environment}/${id}/${version}/${name}`);
71+
res.redirect(url.href);
72+
} catch (e) {
73+
console.log('error in getting image', e);
6274
}
63-
const spaceId = getSpaceId(spaceName);
64-
const url = new URL(`https://${IMAGES_DOMAIN}/spaces/${spaceId}/environments/${environment}/${id}/${version}/${name}`);
65-
res.redirect(url.href);
6675
},
6776
);
6877

@@ -102,45 +111,70 @@ routes.use('/:spaceName/:environment/preview/entries', (req, res, next) => {
102111
routes.use(
103112
'/:spaceName/:environment/published/assets/:id',
104113
(req, res, next) => {
105-
const { environment, id, spaceName } = req.params;
106-
getService(spaceName, environment, false)
107-
.getAsset(id)
108-
.then(res.send.bind(res), next);
114+
try {
115+
const { environment, id, spaceName } = req.params;
116+
getService(spaceName, environment, false)
117+
.getAsset(id)
118+
.then(res.send.bind(res), next);
119+
} catch (e) {
120+
console.log('error in getting published asset', e);
121+
next(e);
122+
}
109123
},
110124
);
111125

112126
/* Queries published assets of a given space name & environment. */
113127
routes.use(':spaceName/:environment/published/assets', (req, res, next) => {
114-
const { environment, spaceName } = req.params;
115-
getService(spaceName, environment, false)
116-
.queryAssets(req.query)
117-
.then(res.send.bind(res), next);
128+
try {
129+
const { environment, spaceName } = req.params;
130+
getService(spaceName, environment, false)
131+
.queryAssets(req.query)
132+
.then(res.send.bind(res), next);
133+
} catch (e) {
134+
console.log('error in getting published assets', e);
135+
next(e);
136+
}
118137
});
119138

120139
/* Gets the specified published entry of a given space name & environment. */
121140
routes.use(
122141
'/:spaceName/:environment/published/entries/:id',
123142
(req, res, next) => {
124-
const { environment, id, spaceName } = req.params;
125-
getService(spaceName, environment, false)
126-
.getEntry(id)
127-
.then(res.send.bind(res), next);
143+
try {
144+
const { environment, id, spaceName } = req.params;
145+
getService(spaceName, environment, false)
146+
.getEntry(id)
147+
.then(res.send.bind(res), next);
148+
} catch (e) {
149+
console.log('error in getting published entry', e);
150+
next(e);
151+
}
128152
},
129153
);
130154

131155
/* Queries published entries of a given space name and environment. */
132156
routes.use('/:spaceName/:environment/published/entries', (req, res, next) => {
133-
const { environment, spaceName } = req.params;
134-
console.log('hits cdn published entries');
135-
getService(spaceName, environment, true)
136-
.queryEntries(req.query)
137-
.then(res.send.bind(res), next);
157+
try {
158+
console.log('hits cdn published entries');
159+
const { environment, spaceName } = req.params;
160+
getService(spaceName, environment, false)
161+
.queryEntries(req.query)
162+
.then(res.send.bind(res), next);
163+
} catch (e) {
164+
console.log('error in getting published entries', e);
165+
next(e);
166+
}
138167
});
139168

140169
/* Update votes on article. */
141170
routes.use('/:spaceName/:environment/votes', (req, res, next) => authenticator(authenticatorOptions)(req, res, next), (req, res, next) => {
142-
articleVote(req.body)
143-
.then(res.send.bind(res), next);
171+
try {
172+
articleVote(req.body)
173+
.then(res.send.bind(res), next);
174+
} catch (e) {
175+
console.log('error in voting', e);
176+
next(e);
177+
}
144178
});
145179

146180
export default routes;

0 commit comments

Comments
 (0)