@@ -30,39 +30,48 @@ routes.options('*', cors());
30
30
routes . use (
31
31
'/:spaceName/:environment/assets/:id/:version/:name' ,
32
32
( 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 ) ;
43
50
}
44
- const url = new URL ( `https://${ ASSETS_DOMAIN } /spaces/${ spaceId } /environments/${ environment } /${ id } /${ version } /${ name } ` ) ;
45
- res . redirect ( url . href ) ;
46
51
} ,
47
52
) ;
48
53
49
54
/* Gets image file. */
50
55
routes . use (
51
56
'/:spaceName/:environment/images/:id/:version/:name' ,
52
57
( 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 ) ;
62
74
}
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 ) ;
66
75
} ,
67
76
) ;
68
77
@@ -102,45 +111,70 @@ routes.use('/:spaceName/:environment/preview/entries', (req, res, next) => {
102
111
routes . use (
103
112
'/:spaceName/:environment/published/assets/:id' ,
104
113
( 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
+ }
109
123
} ,
110
124
) ;
111
125
112
126
/* Queries published assets of a given space name & environment. */
113
127
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
+ }
118
137
} ) ;
119
138
120
139
/* Gets the specified published entry of a given space name & environment. */
121
140
routes . use (
122
141
'/:spaceName/:environment/published/entries/:id' ,
123
142
( 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
+ }
128
152
} ,
129
153
) ;
130
154
131
155
/* Queries published entries of a given space name and environment. */
132
156
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
+ }
138
167
} ) ;
139
168
140
169
/* Update votes on article. */
141
170
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
+ }
144
178
} ) ;
145
179
146
180
export default routes ;
0 commit comments