Skip to content

Commit d910f8f

Browse files
committed
proxyRewrite: Use new middlewareUtil module
1 parent f85ccce commit d910f8f

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

lib/middleware/MiddlewareManager.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,10 @@ class MiddlewareManager {
138138
if (useProxy) {
139139
await this.addMiddleware("proxyRewrite", {
140140
wrapperCallback: ({middleware: proxyRewriteModule}) => {
141-
return ({resources}) => {
141+
return ({resources, middlewareUtil}) => {
142142
return proxyRewriteModule({
143143
resources,
144+
middlewareUtil,
144145
configuration: proxyConfig,
145146
cdnUrl: this.options.cdnUrl
146147
});

lib/middleware/proxyRewrite.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
const log = require("@ui5/logger").getLogger("server:middleware:proxyRewrite");
22

3-
function createMiddleware({resources, configuration, cdnUrl}) {
3+
function createMiddleware({resources, middlewareUtil, configuration, cdnUrl}) {
44
const rewriteRootPaths = configuration.rewriteRootPaths;
55

66
const cacheBusterRegex = /~.*~[A-Z0-9]?\/?/;
77
const preloadRegex = /^.*(?:Component-preload\.js|library-preload\.js|library-preload\.json)$/i;
88

99
return function proxyRewrite(req, res, next) {
10+
const pathname = middlewareUtil.getPathname(req);
1011
const rewriteApplicable = Object.keys(rewriteRootPaths).some((resourceRootPath) => {
11-
return req.path.indexOf(resourceRootPath) !== -1;
12+
return pathname.indexOf(resourceRootPath) !== -1;
1213
});
1314

1415
if (!rewriteApplicable) {
@@ -17,15 +18,15 @@ function createMiddleware({resources, configuration, cdnUrl}) {
1718
return;
1819
}
1920

20-
log.verbose(`Normalizing ${req.path}...`);
21+
log.verbose(`Normalizing ${pathname}...`);
2122
// Normalize URL
22-
normalizeRequestPath(req.path)
23+
normalizeRequestPath(pathname)
2324
.catch((err) => {
24-
log.error(`Failed to normalize ${req.path}. Error ${err.message}`);
25+
log.error(`Failed to normalize ${pathname}. Error ${err.message}`);
2526
return "";
2627
})
2728
.then((normalizedUrl) => {
28-
req.url = req.url.replace(req.path, normalizedUrl);
29+
req.url = req.url.replace(pathname, normalizedUrl);
2930
log.verbose(`Normalized ${req.originalUrl}`);
3031
log.verbose(` to ${req.url}`); // will be used for internal resolution
3132
handleSpecialRequests(req, res, next);

lib/proxyConfiguration.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ async function getConfigurationForProject(tree) {
4444
if (project.specVersion !== "2.2a") {
4545
log.warn(`Project ${project.metadata.name} defines specification version ${project.specVersion}. ` +
4646
`Some proxy configuration features require projects to define specification version 2.2a`);
47+
return;
4748
}
4849
log.verbose(`Using ABAP URI ${project.metadata.abapUri} from metadata of project ${project.metadata.name}`);
4950
let prefix = "";

0 commit comments

Comments
 (0)