Skip to content

Commit 817e84f

Browse files
committed
fix(server): handle change on body parser
1 parent 138b431 commit 817e84f

File tree

7 files changed

+24
-41
lines changed

7 files changed

+24
-41
lines changed

packages/code-gen/package.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@
1212
"./package.json": "./package.json"
1313
},
1414
"type": "module",
15-
"keywords": [
16-
"compas",
17-
"generate",
18-
"router",
19-
"validation",
20-
"code-gen"
21-
],
15+
"keywords": ["compas", "generate", "router", "validation", "code-gen"],
2216
"license": "MIT",
2317
"dependencies": {
2418
"@compas/stdlib": "0.15.0"

packages/create-compas/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@
99
"bin": {
1010
"create-compas": "src/create-compas.js"
1111
},
12-
"keywords": [
13-
"compas",
14-
"create"
15-
],
12+
"keywords": ["compas", "create"],
1613
"license": "MIT",
1714
"dependencies": {
1815
"@compas/stdlib": "0.15.0",

packages/server/package.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@
1212
"./package.json": "./package.json"
1313
},
1414
"type": "module",
15-
"keywords": [
16-
"compas",
17-
"koa",
18-
"api",
19-
"http",
20-
"backend"
21-
],
15+
"keywords": ["compas", "koa", "api", "http", "backend"],
2216
"license": "MIT",
2317
"dependencies": {
2418
"@compas/stdlib": "0.15.0",

packages/server/src/middleware/body.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ export function createBodyParser(opts = {}) {
8989
strict: true,
9090
returnRawBody: false,
9191
});
92-
} else if (opts.urlencoded && ctx.is("urlencoded")) {
92+
} else if (
93+
opts.urlencoded &&
94+
ctx.is("application/x-www-form-urlencoded")
95+
) {
9396
bodyResult = await coBody.form(ctx, {
9497
encoding: opts.encoding,
9598
limit: opts.urlencodedLimit,
@@ -126,13 +129,17 @@ export function createBodyParser(opts = {}) {
126129
} catch (/** @type {any} */ parsingError) {
127130
if (parsingError instanceof SyntaxError) {
128131
delete parsingError.stack;
129-
throw AppError.validationError("error.server.unsupportedBodyFormat", {
130-
name: parsingError.name,
131-
message: parsingError.message,
132+
throw AppError.validationError(
133+
"error.server.unsupportedBodyFormat",
134+
{
135+
name: parsingError.name,
136+
message: parsingError.message,
132137

133-
// @ts-ignore
134-
rawBody: parsingError.body,
135-
});
138+
// @ts-ignore
139+
rawBody: parsingError.body,
140+
},
141+
parsingError,
142+
);
136143
} else if (parsingError.message?.includes("exceeded, received")) {
137144
throw AppError.validationError(
138145
"error.server.maxFieldSize",

packages/server/src/middleware/body.test.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@ test("server/middleware/body", async (t) => {
2121
},
2222
});
2323

24-
app.use(parser);
25-
app.use((ctx, next) => {
24+
app.use(async (ctx, next) => {
25+
await parser(ctx);
2626
ctx.body = ctx.request.body;
2727

2828
return next();
2929
});
3030

31-
fileApp.use(parser);
32-
fileApp.use((ctx, next) => {
31+
fileApp.use(async (ctx, next) => {
32+
await parser(ctx);
33+
3334
ctx.type = "application/json";
3435
ctx.body = JSON.stringify({ files: ctx.request.files }, null, 2);
3536

packages/stdlib/package.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@
1212
"./package.json": "./package.json"
1313
},
1414
"type": "module",
15-
"keywords": [
16-
"compas",
17-
"stdlib",
18-
"standard",
19-
"logger"
20-
],
15+
"keywords": ["compas", "stdlib", "standard", "logger"],
2116
"license": "MIT",
2217
"dependencies": {
2318
"@types/node": "22.7.5",

packages/store/package.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@
1212
"./package.json": "./package.json"
1313
},
1414
"type": "module",
15-
"keywords": [
16-
"compas",
17-
"s3",
18-
"postgres",
19-
"persistence"
20-
],
15+
"keywords": ["compas", "s3", "postgres", "persistence"],
2116
"license": "MIT",
2217
"dependencies": {
2318
"@aws-sdk/client-s3": "3.667.0",

0 commit comments

Comments
 (0)