import * as CurrentUser from './current_user'; class Api { static get(route) { return this.xhr(route, null, 'GET'); } static put(route, params) { return this.xhr(route, params, 'PUT') } static post(route, params) { return this.xhr(route, params, 'POST') } static delete(route, params) { return this.xhr(route, params, 'DELETE') } static xhr(route, params, verb) { const API_URL = 'http://www.domain.com/'; const URL = `${API_URL}${route}` let options = Object.assign({ method: verb }, params ? { body: JSON.stringify(params) } : null ); return fetch(URL, options) .then( resp => { let json = resp.json(); if (resp.ok) { return json; } return json.then(err => {throw err}); }).then( json => json ); } } export default Api