function makeHttp(httpFn, preFetch, postFetch) {
  postFetch = postFetch || ((a) => a);
  preFetch = preFetch || ((a) => a);
  return (req) => {
    if (typeof req === 'string') {
      req = { url: req };
    }
    req = serializeRequest(req);
    req = preFetch(req);
    return postFetch(httpFn(req));
  };
}
For content-type=multipart/form-data remove content-type from request before fetch,
 so that correct one with `boundary` is set when request body is different from boundary encoded string.