Skip to content

Commit 8d09ff4

Browse files
committed
fix(routes): remove unused wildcard in apiRoute "/api/options/:name/:value*"
the updateOption function that handles the req.param is just destructuring `const { name, value } = req.params;` and does nothing else with the path or any params. The remaining parts of the wildcard (which can be accessed via req.param[0]) are just ignored here. even with express v4, this would *always* just take and process the very first part of the path, in the exact wildcard's place, e.g. `/api/options/locale/de` and `/api/options/locale/de/test/whatever` would *both* end up destructuring "value" from req.param as "de" (because it is in the exact place of the 'value' wildcard) in express v5 the wildcard behaviour changes -> here req.param.value would return an array with the paths split into separate string. but since the code previously regarded only the first part of the path -> we can just get rid of the wildcard and use a named route param the only thing to keep in mind: if a request with more than one "value" is received, (e.g. `/api/options/locale/de/test/whatever`) -> since we don't have the wildcard anymore -> this will turn to a 404. IMHO that is actually desirable here though
1 parent ba02070 commit 8d09ff4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/routes/routes.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ function register(app: express.Application) {
238238

239239
apiRoute(GET, "/api/options", optionsApiRoute.getOptions);
240240
// FIXME: possibly change to sending value in the body to avoid host of HTTP server issues with slashes
241-
apiRoute(PUT, "/api/options/:name/:value*", optionsApiRoute.updateOption);
241+
apiRoute(PUT, "/api/options/:name/:value", optionsApiRoute.updateOption);
242242
apiRoute(PUT, "/api/options", optionsApiRoute.updateOptions);
243243
apiRoute(GET, "/api/options/user-themes", optionsApiRoute.getUserThemes);
244244
apiRoute(GET, "/api/options/codeblock-themes", optionsApiRoute.getSyntaxHighlightingThemes);

0 commit comments

Comments
 (0)