@vario-software/vario-app-framework-backend 2026.3.2 → 2026.4.1

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/app.js CHANGED
@@ -20,6 +20,7 @@ const VarioCloudApp = class
20
20
  {
21
21
  this.onUnhandledError = options.onUnhandledError ?? console.error;
22
22
  this.onMigrationError = options.onMigrationError ?? console.error;
23
+ this.onKeycloakError = options.onKeycloakError;
23
24
 
24
25
  exceptionHandler = setupException(this);
25
26
 
@@ -44,7 +45,7 @@ const VarioCloudApp = class
44
45
 
45
46
  this.express.use(cors());
46
47
 
47
- this.express.use(bodyParser.json(options.bodyParser));
48
+ this.express.use(bodyParser.json({ strict: false, ...options.bodyParser }));
48
49
  this.express.use(bodyParser.raw({ type: 'application/octet-stream', limit: 100 * 1024 * 1024 }));
49
50
 
50
51
  this.apiServer = express.Router();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vario-software/vario-app-framework-backend",
3
- "version": "2026.03.2",
3
+ "version": "2026.04.1",
4
4
  "repository": "https://github.com/vario-software/vario-app-framework",
5
5
  "author": "VARIO Software AG",
6
6
  "homepage": "https://www.vario.ag",
package/utils/keycloak.js CHANGED
@@ -26,20 +26,26 @@ async function refreshAccessToken(offlineToken, refreshUrl)
26
26
 
27
27
  const timer = performance.now();
28
28
 
29
- const { data } = await VarioApi.fetch(refreshUrl, refreshOptions).catch(async error =>
30
- {
31
- await app.log(
29
+ const { data } = await VarioApi.fetch(refreshUrl, refreshOptions)
30
+ .catch(async error =>
31
+ {
32
+ await app.log(
33
+ {
34
+ request: { url: refreshUrl, body: '[secret]' },
35
+ response: `[secret(${Object.keys(typeof error?.data === 'object' ? error.data : {})})]`,
36
+ duration: `${(performance.now() - timer).toFixed(2)}ms`,
37
+ },
38
+ 'utils/keycloak',
39
+ 'DEBUG',
40
+ );
41
+
42
+ if (app.onKeycloakError)
32
43
  {
33
- request: { url: refreshUrl, body: '[secret]' },
34
- response: `[secret(${Object.keys(typeof error?.data === 'object' ? error.data : {})})]`,
35
- duration: `${(performance.now() - timer).toFixed(2)}ms`,
36
- },
37
- 'utils/keycloak',
38
- 'DEBUG',
39
- );
40
-
41
- throw error;
42
- });
44
+ app.onKeycloakError(error);
45
+ }
46
+
47
+ throw error;
48
+ });
43
49
 
44
50
  await app.log(
45
51
  {