diff --git a/src/sync-manager.ts b/src/sync-manager.ts index 9ba942f..009b672 100644 --- a/src/sync-manager.ts +++ b/src/sync-manager.ts @@ -441,11 +441,16 @@ class PushLoop extends Loop { let response; try { - response = await fetch(url, { + const options = { method, - body: value ? JSON.stringify(value) : undefined, + headers: {}, ...this.opts.fetchOptions, - }); + } + if (value) { + options.body = JSON.stringify(value); + options.headers['Content-Type'] = 'application/json'; + } + response = await fetch(url, options); } catch (e) { return retryAfter(DEFAULT_RETRY_DELAY); } diff --git a/test/sync-server.js b/test/sync-server.js index b04774c..948a800 100644 --- a/test/sync-server.js +++ b/test/sync-server.js @@ -44,6 +44,7 @@ const server = createServer(async (req, res) => { switch (req.method) { case 'OPTIONS': res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE'); + res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); res.writeHead(204).end(); break; case 'GET':