@@ -30,39 +30,48 @@ routes.options('*', cors());
3030routes . 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. */
5055routes . 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) => {
102111routes . 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. */
113127routes . 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. */
121140routes . 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. */
132156routes . 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. */
141170routes . 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
146180export default routes ;
0 commit comments