import { Server } from "./compose"; import type { BufferedRequest, BufferedResponse } from "./core/bufferedServer"; export type JSONRequest = Omit & { body: Data }; export type JSONResponse = Omit & { body: Data; }; export function jsonResponse( app: Server>, ): Server { return async function jsonResp(request) { const out = await app(request); return { ...out, body: JSON.stringify(out.body), }; }; } export function jsonRequest( app: Server, Response>, ): Server { return async function jsonReq(request) { let body: any | undefined; if (request.body.length > 0) { body = JSON.parse(request.body); } return app({ ...request, body }); }; }