server/middlewares/boundary-check.ts

20 lines
823 B
TypeScript
Raw Normal View History

2024-12-18 20:42:40 +01:00
import { createMiddleware } from "hono/factory";
import { ApiError } from "~/classes/errors/api-error";
export const boundaryCheck = createMiddleware(async (context, next) => {
// Checks that FormData boundary is present
const contentType = context.req.header("content-type");
if (contentType?.includes("multipart/form-data")) {
if (!contentType.includes("boundary")) {
throw new ApiError(
400,
"Missing FormData boundary",
"You are sending a request with a multipart/form-data content type but without a boundary. Please include a boundary in the Content-Type header. For more information, visit https://stackoverflow.com/questions/3508338/what-is-the-boundary-in-multipart-form-data",
);
}
}
await next();
});