Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import localStorage from 'local-storage-fallback';
- function initRequest(req) {
- const headers = new Headers();
- const authToken = JSON.parse(localStorage.getItem('authToken'));
- if (authToken) {
- headers.append('Authorization', `Bearer ${authToken}`);
- }
- headers.append('Accept', 'application/json, text/plain');
- headers.append('Content-Type', 'application/json');
- headers.append('pragma', 'no-cache');
- headers.append('Cache-control', 'no-cache, no-store');
- headers.append('X-AUTH-TOKEN', 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlJFUTBNVVE1TjBOQ1JUSkVNemszTTBVMVJrTkRRMFUwUTBNMVJFRkJSamhETWpkRU5VRkJRZyIsImtleWlkIjoiUkVRME1VUTVOME5DUlRKRU16azNNMFUxUmtORFEwVTBRME0xUkVGQlJqaERNamRFTlVGQlFnIn0.eyJpc3MiOiJodHRwczovL2ZpZG0uZ2lneWEuY29tL2p3dC8zX1JDckNiTW43VDdmSnR0Szdzd2lfcnoyTUNweXAyUkI2eENQQWRTNnpsdFpRZWk1bV9OS2RnQ3VETzN0WmNEQzYvIiwiYXBpS2V5IjoiM19SQ3JDYk1uN1Q3Zkp0dEs3c3dpX3J6Mk1DcHlwMlJCNnhDUEFkUzZ6bHRaUWVpNW1fTktkZ0N1RE8zdFpjREM2IiwiaWF0IjoxNTcyMDAwOTk3LCJleHAiOjE1NzIwMDEyOTcsInN1YiI6ImEzMmMzYjYyNjFlOTQ3OGZiODgyYzBiYzlkNzdiMzZlIn0.BO0d2LgEz-begL9_bTaV4hgspvgpHSJZR3aP6y4cikAhGOHCWwXdwBPciV1UCOIekgkq3JSlZQiNqX59nZklz4KEa27LD91s4DyZTscdhwWFDGo0Tv5gdnOz8aI2gDfXumrlbfHtYGdDE6kUMrrjzl4-mkpK9PMDVxrkROF64FtVLJRRhdDyhVOmOljK5FRMvjBO03XSD-_C6ipKBOlUOBkt4-76TywzyKQeMCdqjpbm7EIPFeye4w7xBMscvhe6L_cPZ-klrnINZTEOoWbS1r8vcilBd_ApAsJjwE7NP_2NiYJqK8UDRLct6Rjf4YJQMofj_0oyHw2b7qLrtANjKg');
- /**
- * ensure proxy https redirect is not blocked
- */
- if (window.location.protocol.indexOf('https') !== -1) {
- headers.append('X-Forwarded-Proto', 'https');
- headers.append('X-Forwarded-Port', '443');
- }
- return Object.assign(
- {
- method: 'GET',
- headers,
- cache: 'no-store',
- credentials: 'same-origin',
- mode: 'cors'
- },
- req || {}
- );
- }
- export function parseResponse(response) {
- if (response.ok) {
- return response.status === 204 ? { status: 'ok' } : response.json();
- } else {
- const error = {
- code: response.status,
- message: response.statusText
- };
- throw error;
- }
- }
- class ApiClient {
- get(url, failCallback) {
- return fetch(
- url,
- initRequest({
- method: 'GET'
- })
- )
- .then(parseResponse)
- .catch(error => {
- failCallback && failCallback(error);
- });
- }
- post(url, payload, failCallback) {
- return fetch(
- url,
- initRequest({
- body: JSON.stringify(payload),
- method: 'POST'
- })
- )
- .then(parseResponse)
- .catch(error => {
- failCallback && failCallback(error);
- });
- }
- }
- export default new ApiClient();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement