@cheesecakelabs/fetch
Advanced tools
Comparing version 2.0.2 to 2.1.0
32
index.js
@@ -31,5 +31,9 @@ 'use strict'; | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var PARSE_ERROR_RESPONSE = { message: 'PARSE_ERROR' }; | ||
var DEFAULT_AUTHORIZATION_KEYWORD = 'Token '; | ||
var DEFAULT_AUTHORIZATION_HEADER = 'Authorization'; | ||
var handleParseError = function handleParseError(error) { | ||
@@ -39,3 +43,3 @@ return Promise.reject(_extends({}, PARSE_ERROR_RESPONSE, { error: error })); | ||
var defaultOptions = { | ||
var FETCH_DEFAULTS = { | ||
headers: { | ||
@@ -57,3 +61,3 @@ 'Content-type': 'application/json; charset=UTF-8' | ||
this.defaultURL = defaultURL; | ||
this.defaults = defaults || defaultOptions; | ||
this.defaults = defaults || FETCH_DEFAULTS; | ||
this.options = options; | ||
@@ -63,2 +67,12 @@ } | ||
_createClass(Fetch, [{ | ||
key: 'buidAuthorizationHeader', | ||
value: function buidAuthorizationHeader(key) { | ||
if (key) { | ||
var authKeyword = this.options.defaultAuthorizationKeyword || DEFAULT_AUTHORIZATION_KEYWORD; | ||
var authHeader = this.options.defaultAuthorizationHeader || DEFAULT_AUTHORIZATION_HEADER; | ||
return _defineProperty({}, authHeader, '' + authKeyword + key); | ||
} | ||
return {}; | ||
} | ||
}, { | ||
key: 'request', | ||
@@ -75,3 +89,3 @@ value: function request(url) { | ||
var authorization = key ? { Authorization: 'Token ' + key } : {}; | ||
var authorization = this.buidAuthorizationHeader(key); | ||
var finalURL = this.getURL(url, { | ||
@@ -93,6 +107,6 @@ noBaseURL: noBaseURL, | ||
return Promise.all([response.text(), response.ok]); | ||
}).catch(handleParseError).then(function (_ref) { | ||
var _ref2 = _slicedToArray(_ref, 2), | ||
response = _ref2[0], | ||
ok = _ref2[1]; | ||
}).catch(handleParseError).then(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 2), | ||
response = _ref3[0], | ||
ok = _ref3[1]; | ||
@@ -179,4 +193,4 @@ if (!ok) { | ||
key: 'api', | ||
value: function api(defaultURL, defaultHeaders) { | ||
return new Fetch(defaultURL, defaultHeaders); | ||
value: function api(defaultURL, defaultHeaders, options) { | ||
return new Fetch(defaultURL, defaultHeaders, options); | ||
} | ||
@@ -183,0 +197,0 @@ }]); |
{ | ||
"name": "@cheesecakelabs/fetch", | ||
"version": "2.0.2", | ||
"version": "2.1.0", | ||
"description": "Opinionated fetch wrapper for modern front-end.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
15065
250