Skip to content
This repository has been archived by the owner on Sep 20, 2023. It is now read-only.

Commit

Permalink
use classic xmlHtmlRequest instead fetch due 403 code issues
Browse files Browse the repository at this point in the history
  • Loading branch information
oscarotero committed Jun 16, 2018
1 parent b9ca118 commit fe43bcf
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions src/ajax-source.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,8 @@ export default class AjaxSource extends Source {
}

this.timeout = setTimeout(() => {
fetch(this.endpoint + '?q=' + query, {
headers: {
Accept: 'application/json'
}
})
.then(res => {
if (res.status < 200 || res.status >= 400) {
throw new Error(
`The request status code is ${res.status}`
);
}

return res;
})
.then(res => res.json())
getJson(this.endpoint + '?q=' + query)
.catch(err => console.error(err))
.then(data => {
this.load(data);
this.cache[query] = this.data;
Expand All @@ -60,3 +47,22 @@ export default class AjaxSource extends Source {
}, 200);
}
}

function getJson(url) {
return new Promise((resolve, reject) => {
const request = new XMLHttpRequest();

request.open('GET', url, true);
request.setRequestHeader('Accept', 'application/json');

request.onload = () => {
if (request.status >= 200 && request.status < 400) {
resolve(JSON.parse(request.responseText));
} else {
reject(`The request status code is ${request.status}`);
}
};

request.send();
});
}

0 comments on commit fe43bcf

Please sign in to comment.