@ui5/server 3.0.0-beta.3 → 3.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/lib/middleware/MiddlewareManager.js +21 -15
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
-
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-server/compare/v3.0.0-beta.
|
|
5
|
+
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-server/compare/v3.0.0-beta.4...HEAD).
|
|
6
|
+
|
|
7
|
+
<a name="v3.0.0-beta.4"></a>
|
|
8
|
+
## [v3.0.0-beta.4] - 2022-12-01
|
|
9
|
+
### Dependency Updates
|
|
10
|
+
- Bump connect-openui5 from 0.10.2 to 0.10.3 [`90871f8`](https://github.com/SAP/ui5-server/commit/90871f89815501860616ffbdf8927824412ec909)
|
|
11
|
+
|
|
6
12
|
|
|
7
13
|
<a name="v3.0.0-beta.3"></a>
|
|
8
14
|
## [v3.0.0-beta.3] - 2022-11-30
|
|
@@ -302,6 +308,7 @@ Only Node.js v10 or higher is supported.
|
|
|
302
308
|
<a name="v0.0.1"></a>
|
|
303
309
|
## v0.0.1 - 2018-06-06
|
|
304
310
|
|
|
311
|
+
[v3.0.0-beta.4]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.3...v3.0.0-beta.4
|
|
305
312
|
[v3.0.0-beta.3]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.2...v3.0.0-beta.3
|
|
306
313
|
[v3.0.0-beta.2]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.1...v3.0.0-beta.2
|
|
307
314
|
[v3.0.0-beta.1]: https://github.com/SAP/ui5-server/compare/v3.0.0-alpha.4...v3.0.0-beta.1
|
|
@@ -61,7 +61,7 @@ class MiddlewareManager {
|
|
|
61
61
|
* Adds the given middleware configuration
|
|
62
62
|
*
|
|
63
63
|
* @private
|
|
64
|
-
* @param {string}
|
|
64
|
+
* @param {string} middlewareName The name of the middleware
|
|
65
65
|
* @param {object} [options] The Options of the middleware
|
|
66
66
|
* @param {object} [options.customMiddleware] The custom middleware
|
|
67
67
|
* @param {Function} [options.wrapperCallback] Callback called when middleware is called
|
|
@@ -69,15 +69,19 @@ class MiddlewareManager {
|
|
|
69
69
|
* @param {string} [options.beforeMiddleware] The name of the middleware called before the added middleware
|
|
70
70
|
* @param {string} [options.afterMiddleware] The name of the middleware called after the added middleware
|
|
71
71
|
*/
|
|
72
|
-
async addMiddleware(
|
|
72
|
+
async addMiddleware(middlewareName, {
|
|
73
73
|
customMiddleware, wrapperCallback, mountPath = "/",
|
|
74
74
|
beforeMiddleware, afterMiddleware
|
|
75
75
|
} = {}) {
|
|
76
|
+
if (this.middleware[middlewareName]) {
|
|
77
|
+
throw new Error(`A middleware with the name ${middlewareName} has already been added`);
|
|
78
|
+
}
|
|
79
|
+
|
|
76
80
|
let middlewareCallback;
|
|
77
81
|
if (customMiddleware) {
|
|
78
82
|
middlewareCallback = customMiddleware;
|
|
79
83
|
} else {
|
|
80
|
-
const middlewareInfo = await middlewareRepository.getMiddleware(
|
|
84
|
+
const middlewareInfo = await middlewareRepository.getMiddleware(middlewareName);
|
|
81
85
|
if (wrapperCallback) {
|
|
82
86
|
middlewareCallback = wrapperCallback(middlewareInfo);
|
|
83
87
|
} else {
|
|
@@ -85,16 +89,6 @@ class MiddlewareManager {
|
|
|
85
89
|
}
|
|
86
90
|
}
|
|
87
91
|
|
|
88
|
-
let middlewareName = configuredMiddlewareName;
|
|
89
|
-
if (this.middleware[middlewareName]) {
|
|
90
|
-
// Middleware is already known
|
|
91
|
-
// => add a suffix to allow for multiple configurations of the same middleware
|
|
92
|
-
let suffixCounter = 0;
|
|
93
|
-
while (this.middleware[middlewareName]) {
|
|
94
|
-
suffixCounter++; // Start at 1
|
|
95
|
-
middlewareName = `${configuredMiddlewareName}--${suffixCounter}`;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
92
|
if (this.middlewareExecutionOrder.includes(middlewareName)) {
|
|
99
93
|
throw new Error(`Middleware ${middlewareName} already added to execution order. This should not happen.`);
|
|
100
94
|
}
|
|
@@ -275,7 +269,19 @@ class MiddlewareManager {
|
|
|
275
269
|
`Custom middleware definition ${middlewareDef.name} of project ${project.getName()} ` +
|
|
276
270
|
`defines neither a "beforeMiddleware" nor an "afterMiddleware" parameter. One must be defined.`);
|
|
277
271
|
}
|
|
278
|
-
|
|
272
|
+
|
|
273
|
+
let middlewareName = middlewareDef.name;
|
|
274
|
+
if (this.middleware[middlewareName]) {
|
|
275
|
+
// Middleware is already known
|
|
276
|
+
// => add a suffix to allow for multiple configurations of the same middleware
|
|
277
|
+
let suffixCounter = 0;
|
|
278
|
+
while (this.middleware[middlewareName]) {
|
|
279
|
+
suffixCounter++; // Start at 1
|
|
280
|
+
middlewareName = `${middlewareDef.name}--${suffixCounter}`;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
await this.addMiddleware(middlewareName, {
|
|
279
285
|
customMiddleware: async ({resources, middlewareUtil}) => {
|
|
280
286
|
const customMiddleware = this.graph.getExtension(middlewareDef.name);
|
|
281
287
|
|
|
@@ -288,7 +294,7 @@ class MiddlewareManager {
|
|
|
288
294
|
|
|
289
295
|
const specVersion = customMiddleware.getSpecVersion();
|
|
290
296
|
if (specVersion.gte("3.0")) {
|
|
291
|
-
params.options.middlewareName =
|
|
297
|
+
params.options.middlewareName = middlewareName;
|
|
292
298
|
params.log = logger.getGroupLogger(`server:custom-middleware:${middlewareDef.name}`);
|
|
293
299
|
}
|
|
294
300
|
const middlewareUtilInterface = middlewareUtil.getInterface(specVersion);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/server",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.4",
|
|
4
4
|
"description": "UI5 Tooling - Server",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SAP SE",
|
|
@@ -115,12 +115,12 @@
|
|
|
115
115
|
"url": "git@github.com:SAP/ui5-server.git"
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@ui5/builder": "^3.0.0-beta.
|
|
119
|
-
"@ui5/fs": "^3.0.0-beta.
|
|
118
|
+
"@ui5/builder": "^3.0.0-beta.4",
|
|
119
|
+
"@ui5/fs": "^3.0.0-beta.4",
|
|
120
120
|
"@ui5/logger": "^3.0.1-beta.1",
|
|
121
121
|
"body-parser": "^1.20.1",
|
|
122
122
|
"compression": "^1.7.4",
|
|
123
|
-
"connect-openui5": "^0.10.
|
|
123
|
+
"connect-openui5": "^0.10.3",
|
|
124
124
|
"cors": "^2.8.5",
|
|
125
125
|
"devcert-sanscache": "^0.4.8",
|
|
126
126
|
"escape-html": "^1.0.3",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
141
|
"@istanbuljs/esm-loader-hook": "^0.2.0",
|
|
142
|
-
"@ui5/project": "^3.0.0-beta.
|
|
142
|
+
"@ui5/project": "^3.0.0-beta.4",
|
|
143
143
|
"ava": "^5.1.0",
|
|
144
144
|
"chokidar-cli": "^3.0.0",
|
|
145
145
|
"cross-env": "^7.0.3",
|