From 23f63242aa696b5572f7807c3f5337c03db495d0 Mon Sep 17 00:00:00 2001 From: Atrox Date: Fri, 3 Apr 2020 19:40:19 +0200 Subject: [PATCH] support formdata --- src/useMutate.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/useMutate.tsx b/src/useMutate.tsx index 1872358a..ccdbec9b 100644 --- a/src/useMutate.tsx +++ b/src/useMutate.tsx @@ -84,13 +84,21 @@ export function useMutate< const options: RequestInit = { method: verb, - headers: { - "content-type": typeof body === "object" ? "application/json" : "text/plain", - }, }; + // don't set content-type when body is of type FormData + if (!(body instanceof FormData)) { + options.headers = { "content-type": typeof body === "object" ? "application/json" : "text/plain" }; + } + if (!isDelete) { - options.body = typeof body === "object" ? JSON.stringify(body) : ((body as unknown) as string); + if (body instanceof FormData) { + options.body = body; + } else if (typeof body === "object") { + options.body = JSON.stringify(body); + } else { + options.body = (body as unknown) as string; + } } const signal = getAbortSignal();