fix: coalesce falsy body to {} (#4929)

This commit is contained in:
Apoorv Mishra
2023-02-26 00:44:44 +05:30
committed by GitHub
parent 05c5d0637e
commit af3edd7cb2
3 changed files with 16 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
import { Next } from "koa";
import { AppContext } from "@server/types";
// remove after https://github.com/koajs/koa-body/issues/218 is resolved
export default function coalesceBody() {
return function coalesceBodyMiddleware(ctx: AppContext, next: Next) {
if (!ctx.request.body) {
ctx.request.body = {};
}
return next();
};
}

View File

@@ -7,6 +7,7 @@ import userAgent, { UserAgentContext } from "koa-useragent";
import env from "@server/env";
import { NotFoundError } from "@server/errors";
import Logger from "@server/logging/Logger";
import coalesceBody from "@server/middlewares/coaleseBody";
import { AppState, AppContext } from "@server/types";
import apiKeys from "./apiKeys";
import attachments from "./attachments";
@@ -45,6 +46,7 @@ api.use(
},
})
);
api.use(coalesceBody());
api.use<BaseContext, UserAgentContext>(userAgent);
api.use(apiWrapper());
api.use(editor());

View File

@@ -5,6 +5,7 @@ import bodyParser from "koa-body";
import Router from "koa-router";
import { AuthenticationError } from "@server/errors";
import auth from "@server/middlewares/authentication";
import coalesceBody from "@server/middlewares/coaleseBody";
import { Collection, Team, View } from "@server/models";
import AuthenticationHelper from "@server/models/helpers/AuthenticationHelper";
import { AppState, AppContext, APIContext } from "@server/types";
@@ -71,6 +72,7 @@ router.get("/redirect", auth(), async (ctx: APIContext) => {
});
app.use(bodyParser());
app.use(coalesceBody());
app.use(router.routes());
export default app;