@@ -66,6 +66,8 @@ extendEnvironmentWithAppConfig(environment, appConfig);
6666// The Express app is exported so that it can be used by serverless Functions.
6767export function app ( ) {
6868
69+ const router = express . Router ( ) ;
70+
6971 /*
7072 * Create a new express application
7173 */
@@ -133,7 +135,11 @@ export function app() {
133135 /**
134136 * Proxy the sitemaps
135137 */
136- server . use ( '/sitemap**' , createProxyMiddleware ( { target : `${ environment . rest . baseUrl } /sitemaps` , changeOrigin : true } ) ) ;
138+ router . use ( '/sitemap**' , createProxyMiddleware ( {
139+ target : `${ environment . rest . baseUrl } /sitemaps` ,
140+ pathRewrite : path => path . replace ( environment . ui . nameSpace , '/' ) ,
141+ changeOrigin : true
142+ } ) ) ;
137143
138144 /**
139145 * Checks if the rateLimiter property is present
@@ -151,14 +157,16 @@ export function app() {
151157 /*
152158 * Serve static resources (images, i18n messages, …)
153159 */
154- server . get ( '*.*' , cacheControl , express . static ( DIST_FOLDER , { index : false } ) ) ;
160+ router . get ( '*.*' , cacheControl , express . static ( DIST_FOLDER , { index : false } ) ) ;
155161 /*
156162 * Fallthrough to the IIIF viewer (must be included in the build).
157163 */
158- server . use ( '/iiif' , express . static ( IIIF_VIEWER , { index :false } ) ) ;
164+ router . use ( '/iiif' , express . static ( IIIF_VIEWER , { index : false } ) ) ;
159165
160166 // Register the ngApp callback function to handle incoming requests
161- server . get ( '*' , ngApp ) ;
167+ router . get ( '*' , ngApp ) ;
168+
169+ server . use ( environment . ui . nameSpace , router ) ;
162170
163171 return server ;
164172}
@@ -191,13 +199,25 @@ function ngApp(req, res) {
191199 if ( hasValue ( err ) ) {
192200 console . warn ( 'Error details : ' , err ) ;
193201 }
194- res . sendFile ( DIST_FOLDER + '/index.html' ) ;
202+ res . render ( indexHtml , {
203+ req,
204+ providers : [ {
205+ provide : APP_BASE_HREF ,
206+ useValue : req . baseUrl
207+ } ]
208+ } ) ;
195209 }
196210 } ) ;
197211 } else {
198212 // If preboot is disabled, just serve the client
199213 console . log ( 'Universal off, serving for direct CSR' ) ;
200- res . sendFile ( DIST_FOLDER + '/index.html' ) ;
214+ res . render ( indexHtml , {
215+ req,
216+ providers : [ {
217+ provide : APP_BASE_HREF ,
218+ useValue : req . baseUrl
219+ } ]
220+ } ) ;
201221 }
202222}
203223
0 commit comments