xypriss 9.12.48 → 9.12.51

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.
@@ -12,59 +12,67 @@ function handleGroup(parentRouter, childRouter, options, callback, internalState
12
12
  options.middleware.forEach((m) => childRouter.use(m));
13
13
  }
14
14
  callback(childRouter);
15
- let prefix = options.prefix ?? "";
16
- if (options.version) {
17
- const ver = `v${options.version.replace(/^v/, "")}`;
18
- prefix = prefix ? path.joinPaths(prefix, ver) : `/${ver}`;
19
- }
20
- prefix = prefix ? path.normalizePath(prefix) : "/";
15
+ const rawPrefixes = Array.isArray(options.prefix)
16
+ ? (options.prefix.length > 0 ? options.prefix : [""])
17
+ : [options.prefix ?? ""];
18
+ const computedPrefixes = rawPrefixes.map((p) => {
19
+ let prefix = p ?? "";
20
+ if (options.version) {
21
+ const ver = `v${options.version.replace(/^v/, "")}`;
22
+ prefix = prefix ? path.joinPaths(prefix, ver) : `/${ver}`;
23
+ }
24
+ return prefix ? path.normalizePath(prefix) : "/";
25
+ });
21
26
  let groupRateLimitMiddleware;
22
27
  if (options.rateLimit) {
23
28
  groupRateLimitMiddleware = middleware.createRateLimitMiddleware(options.rateLimit);
24
29
  }
25
- childRouter.getRoutes().forEach((route) => {
26
- const fullPath = path.joinPaths(prefix, route.originalPath);
27
- const { pattern, paramNames, paramConstraints } = path.compileRoutePattern(fullPath, internalState.options);
28
- const mergedMeta = {
29
- ...(options.meta ?? {}),
30
- ...(route.meta ?? {}),
31
- version: route.meta?.version ?? options.version,
32
- };
33
- const groupGuards = options.guards;
34
- let groupGuardMiddleware;
35
- if (groupGuards) {
36
- groupGuardMiddleware = helpers.createGuardMiddleware(groupGuards, internalState.logger);
37
- }
38
- const rateLimit = route.rateLimit ?? options.rateLimit;
39
- const active = helpers.resolveCondition(options.active, internalState.featureResolver) &&
40
- route.active;
41
- const routeMiddleware = [...route.middleware];
42
- if (groupGuardMiddleware) {
43
- routeMiddleware.unshift({ handler: groupGuardMiddleware });
44
- }
45
- if (!route.rateLimit && groupRateLimitMiddleware) {
46
- routeMiddleware.unshift({ handler: groupRateLimitMiddleware });
47
- }
48
- const mounted = {
49
- ...route,
50
- path: fullPath,
51
- originalPath: fullPath,
52
- pattern,
53
- paramNames,
54
- paramConstraints,
55
- serverId: route.serverId ?? options.serverId,
56
- meta: Object.keys(mergedMeta).length ? mergedMeta : undefined,
57
- guards: groupGuards ?? route.guards,
58
- rateLimit,
59
- groupPrefix: prefix,
60
- groupRateLimit: options.rateLimit,
61
- active,
62
- version: mergedMeta.version,
63
- middleware: [...internalState.middleware, ...routeMiddleware],
64
- };
65
- internalState.routes.push(mounted);
66
- internalState.logger.debug("router", `Group mounted: ${route.method} ${fullPath}`);
67
- });
30
+ const groupGuards = options.guards;
31
+ let groupGuardMiddleware;
32
+ if (groupGuards) {
33
+ groupGuardMiddleware = helpers.createGuardMiddleware(groupGuards, internalState.logger);
34
+ }
35
+ const childRoutes = childRouter.getRoutes();
36
+ for (const prefix of computedPrefixes) {
37
+ childRoutes.forEach((route) => {
38
+ const fullPath = path.joinPaths(prefix, route.originalPath);
39
+ const { pattern, paramNames, paramConstraints } = path.compileRoutePattern(fullPath, internalState.options);
40
+ const mergedMeta = {
41
+ ...(options.meta ?? {}),
42
+ ...(route.meta ?? {}),
43
+ version: route.meta?.version ?? options.version,
44
+ };
45
+ const rateLimit = route.rateLimit ?? options.rateLimit;
46
+ const active = helpers.resolveCondition(options.active, internalState.featureResolver) &&
47
+ route.active;
48
+ const routeMiddleware = [...route.middleware];
49
+ if (groupGuardMiddleware) {
50
+ routeMiddleware.unshift({ handler: groupGuardMiddleware });
51
+ }
52
+ if (!route.rateLimit && groupRateLimitMiddleware) {
53
+ routeMiddleware.unshift({ handler: groupRateLimitMiddleware });
54
+ }
55
+ const mounted = {
56
+ ...route,
57
+ path: fullPath,
58
+ originalPath: fullPath,
59
+ pattern,
60
+ paramNames,
61
+ paramConstraints,
62
+ serverId: route.serverId ?? options.serverId,
63
+ meta: Object.keys(mergedMeta).length ? mergedMeta : undefined,
64
+ guards: groupGuards ?? route.guards,
65
+ rateLimit,
66
+ groupPrefix: prefix,
67
+ groupRateLimit: options.rateLimit,
68
+ active,
69
+ version: mergedMeta.version,
70
+ middleware: [...internalState.middleware, ...routeMiddleware],
71
+ };
72
+ internalState.routes.push(mounted);
73
+ internalState.logger.debug("router", `Group mounted: ${route.method} ${fullPath}`);
74
+ });
75
+ }
68
76
  }
69
77
 
70
78
  exports.handleGroup = handleGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sources":["../../../../../../src/server/routing/modules/groups.ts"],"sourcesContent":[null],"names":["joinPaths","normalizePath","createRateLimitMiddleware","compileRoutePattern","createGuardMiddleware","resolveCondition"],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sources":["../../../../../../src/server/routing/modules/groups.ts"],"sourcesContent":[null],"names":["joinPaths","normalizePath","createRateLimitMiddleware","createGuardMiddleware","compileRoutePattern","resolveCondition"],"mappings":"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"}