@flywire/flywire-fetch
Advanced tools
Comparing version 0.0.2-8 to 0.0.2-9
@@ -8,20 +8,21 @@ import 'whatwg-fetch'; | ||
const SIX_SECONDS = 6 * 1000; | ||
const fetchJson = (url, options = {}) => { | ||
const defaultOptions = { | ||
timeout: SIX_SECONDS, | ||
Accept: 'application/json', | ||
Accept: 'application/json' | ||
}; | ||
if (!(options.body instanceof FormData)) { | ||
defaultOptions.headers = { 'Content-Type': 'application/json' }; | ||
defaultOptions.headers = { | ||
'Content-Type': 'application/json' | ||
}; | ||
} | ||
const headers = { | ||
...defaultOptions.headers, | ||
...options.headers, | ||
[REQUEST_ID_HEADER]: v4(), | ||
}; | ||
const headers = Object.assign({}, defaultOptions.headers, options.headers, { | ||
[REQUEST_ID_HEADER]: v4() | ||
}); | ||
const fetchOptions = Object.assign({}, defaultOptions, options, { | ||
headers | ||
}); | ||
const fetchOptions = { ...defaultOptions, ...options, headers }; | ||
const checkResponse = response => { | ||
@@ -32,21 +33,17 @@ if (response.status === HTTP_NO_CONTENT) { | ||
return response.json().then( | ||
json => { | ||
if (response.ok) { | ||
return Promise.resolve(json); | ||
} else { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.parsedBody = json; | ||
return Promise.reject(error); | ||
} | ||
}, | ||
() => { | ||
return response.json().then(json => { | ||
if (response.ok) { | ||
return Promise.resolve(json); | ||
} else { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.response = response; | ||
throw error; | ||
}, | ||
); | ||
error.parsedBody = json; | ||
return Promise.reject(error); | ||
} | ||
}, () => { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.response = response; | ||
throw error; | ||
}); | ||
}; | ||
@@ -53,0 +50,0 @@ |
@@ -12,20 +12,21 @@ 'use strict'; | ||
const SIX_SECONDS = 6 * 1000; | ||
const fetchJson = (url, options = {}) => { | ||
const defaultOptions = { | ||
timeout: SIX_SECONDS, | ||
Accept: 'application/json', | ||
Accept: 'application/json' | ||
}; | ||
if (!(options.body instanceof FormData)) { | ||
defaultOptions.headers = { 'Content-Type': 'application/json' }; | ||
defaultOptions.headers = { | ||
'Content-Type': 'application/json' | ||
}; | ||
} | ||
const headers = { | ||
...defaultOptions.headers, | ||
...options.headers, | ||
[REQUEST_ID_HEADER]: uuid.v4(), | ||
}; | ||
const headers = Object.assign({}, defaultOptions.headers, options.headers, { | ||
[REQUEST_ID_HEADER]: uuid.v4() | ||
}); | ||
const fetchOptions = Object.assign({}, defaultOptions, options, { | ||
headers | ||
}); | ||
const fetchOptions = { ...defaultOptions, ...options, headers }; | ||
const checkResponse = response => { | ||
@@ -36,21 +37,17 @@ if (response.status === HTTP_NO_CONTENT) { | ||
return response.json().then( | ||
json => { | ||
if (response.ok) { | ||
return Promise.resolve(json); | ||
} else { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.parsedBody = json; | ||
return Promise.reject(error); | ||
} | ||
}, | ||
() => { | ||
return response.json().then(json => { | ||
if (response.ok) { | ||
return Promise.resolve(json); | ||
} else { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.response = response; | ||
throw error; | ||
}, | ||
); | ||
error.parsedBody = json; | ||
return Promise.reject(error); | ||
} | ||
}, () => { | ||
var error = new Error(response.status); | ||
error.status = response.status; | ||
error.response = response; | ||
throw error; | ||
}); | ||
}; | ||
@@ -57,0 +54,0 @@ |
{ | ||
"name": "@flywire/flywire-fetch", | ||
"version": "0.0.2-8", | ||
"version": "0.0.2-9", | ||
"description": "Flywire's fetch wrapper", | ||
@@ -36,3 +36,2 @@ "main": "dist/index.js", | ||
"@babel/core": "^7.9.6", | ||
"@babel/plugin-transform-runtime": "^7.10.3", | ||
"@babel/preset-env": "^7.9.6", | ||
@@ -39,0 +38,0 @@ "@rollup/plugin-babel": "^5.0.0", |
15
6581
104