30 lines
827 B
JavaScript
30 lines
827 B
JavaScript
export const useFetch = controller => {
|
|
Object.assign(controller, {
|
|
checkStatus(response) {
|
|
if (response.status >= 200 && response.status < 300) {
|
|
return response
|
|
} else {
|
|
const error = new Error(response.statusText)
|
|
error.response = response
|
|
throw error
|
|
}
|
|
},
|
|
parseJSON(response) {
|
|
return response.json()
|
|
},
|
|
parseHTML(response) {
|
|
return response.text()
|
|
},
|
|
getInitObject(method = 'get', body = null) {
|
|
return {
|
|
method,
|
|
body,
|
|
credentials: 'include',
|
|
headers: {
|
|
'X-Requested-With': 'XMLHttpRequest'
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|