This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
20 lines
462 B
TypeScript
20 lines
462 B
TypeScript
import { Context } from "koa";
|
|
import queryString from "query-string";
|
|
|
|
export default function methodOverride() {
|
|
return async function methodOverrideMiddleware(
|
|
ctx: Context,
|
|
next: () => Promise<any>
|
|
) {
|
|
if (ctx.method === "POST") {
|
|
ctx.body = ctx.request.body;
|
|
} else if (ctx.method === "GET") {
|
|
ctx.method = 'POST'; // eslint-disable-line
|
|
|
|
ctx.body = queryString.parse(ctx.querystring);
|
|
}
|
|
|
|
return next();
|
|
};
|
|
}
|