Я безуспешно пробовал каждую возможность, которую нашел для этого. Современный способ сделать это должен быть следующим:
var db = new PouchDB('http://localhost:5984/foo', {
fetch: function (url, opts) {
opts.headers.set('X-Some-Special-Header', 'foo');
return PouchDB.fetch(url, opts);
}
});
PouchDB.sync(pouch, remoteDb)
Это работает в sofar, поскольку заголовки фактически передаются, но это нарушает CORS. Если вы удалите код выборки, CORS будет работать.
Есть два других способа передачи заголовков: в параметрах syn c или непосредственно при создании БД. Но ни то, ни другое не работает.