import { RequestMiddleware, ApidlyRequest } from './types'; export const jsonRequest = (url: URL, request: ApidlyRequest) => { request.body = JSON.stringify(request.data); request.headers.set('content-type', 'application/json'); }; export const formRequest: RequestMiddleware = (url, request) => { const form = new URLSearchParams(Object.entries(request.data)); request.body = form.toString(); request.headers.set('content-type', 'application/x-www-form-urlencoded'); }; export const jsonResponse = async (response: Response): Promise => { const text = await response.text(); try { return JSON.parse(text); } catch (e: any) { throw new Error(`${e.message}\n${text}`); } }; export const textResponse = async (response: Response): Promise => { return response.text() as unknown as Output; };