2022-08-20 12:47:02 +00:00
|
|
|
import { instance } from '../instance-initializers/application';
|
|
|
|
|
|
|
|
|
|
export default function query(path, options = {}) {
|
|
|
|
|
const session = instance.lookup('service:session');
|
|
|
|
|
const { url, key } = session.data.authenticated;
|
|
|
|
|
const defaultHeaders = { 'Content-Type': 'application/json' };
|
|
|
|
|
const headers = new Headers(Object.assign(defaultHeaders, options.headers));
|
|
|
|
|
|
|
|
|
|
if (key) {
|
|
|
|
|
headers.append('Authorization', `Bearer ${key}`);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const req = new Request(
|
|
|
|
|
new URL(path, url),
|
|
|
|
|
Object.assign(options, { headers })
|
2022-05-03 09:49:10 +00:00
|
|
|
);
|
2022-08-20 12:47:02 +00:00
|
|
|
|
2022-09-11 09:44:49 +00:00
|
|
|
return fetch(req).then((response) => {
|
|
|
|
|
if (response.ok) {
|
|
|
|
|
return response.json();
|
|
|
|
|
} else {
|
|
|
|
|
throw new Error('Network response was not OK');
|
|
|
|
|
}
|
|
|
|
|
});
|
2022-05-03 09:49:10 +00:00
|
|
|
}
|