@internetarchive/bookreader 5.0.0-85 → 5.0.0-86

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 5.0.0-86
2
+ - Fix: Make JSON requests with cookies for protected books @cdrini
3
+
1
4
  # 5.0.0-85
2
5
  - Dev: Disable JSONP requests to archive.org to make BR CSP-compatible @cdrini
3
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/bookreader",
3
- "version": "5.0.0-85",
3
+ "version": "5.0.0-86",
4
4
  "description": "The Internet Archive BookReader.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -89,6 +89,9 @@ export class TextSelectionPlugin {
89
89
  url: applyVariables(this.options.fullDjvuXmlUrl, this.optionVariables),
90
90
  dataType: this.options.jsonp ? "jsonp" : "html",
91
91
  cache: true,
92
+ xhrFields: {
93
+ withCredentials: window.br.protected,
94
+ },
92
95
  error: (e) => undefined,
93
96
  }).then((res) => {
94
97
  try {
@@ -115,6 +118,9 @@ export class TextSelectionPlugin {
115
118
  url: applyVariables(this.options.singlePageDjvuXmlUrl, this.optionVariables, { pageIndex: index }),
116
119
  dataType: this.options.jsonp ? "jsonp" : "html",
117
120
  cache: true,
121
+ xhrFields: {
122
+ withCredentials: window.br.protected,
123
+ },
118
124
  error: (e) => undefined,
119
125
  });
120
126
  try {
@@ -223,6 +223,9 @@ BookReader.prototype.search = async function(term = '', overrides = {}) {
223
223
  callSearchResultsCallback(await $.ajax({
224
224
  url: url,
225
225
  cache: true,
226
+ xhrFields: {
227
+ withCredentials: this.protected,
228
+ },
226
229
  beforeSend: xhr => { this.searchXHR = xhr; },
227
230
  }));
228
231
  };
@@ -26,6 +26,9 @@ export default class PageChunk {
26
26
  type: 'GET',
27
27
  url: `https://${server}/BookReader/BookReaderGetTextWrapper.php`,
28
28
  cache: true,
29
+ xhrFields: {
30
+ withCredentials: window.br.protected,
31
+ },
29
32
  data: {
30
33
  path: `${bookPath}_djvu.xml`,
31
34
  page: leafIndex,
@@ -87,7 +87,7 @@ const FAKE_XML_EMPTY = '';
87
87
 
88
88
  describe("Generic tests", () => {
89
89
  document.body.innerHTML = '<div id="BookReader">';
90
- const br = new BookreaderWithTextSelection({
90
+ const br = window.br = new BookreaderWithTextSelection({
91
91
  data: [
92
92
  [
93
93
  { width: 800, height: 1200,