basic-xhr
v1.0.0
Published
The barest-bones wrapper for XHR in the cases where I want to use XHR
Downloads
13
Maintainers
Readme
The bare-bones XMLHttpRequest wrapper that I use when I want to use XHR.
Set up some options, make a request, get back a promise.
Requires ES2015 shims (Promise
, Object.assign
, Object.keys
).
API
const createRequestFunction = require('basic-xhr')
The module exports a function that takes options and returns a re-usable XHR function.
makeXhr
= createRequestFunction(options)
const get = createRequestFunction()
get('/some/nifty/api?cool=yes').then(responseBody => {
console.log(responseBody.valueFromServer)
})
Options
method
: string, defaults to'GET'
success
: function, defaults torequest => request.status >= 200 && request.status < 400
parse
: function, defaults torequest => JSON.parse(request.responseText)
serialize
: function, defaults tobody => JSON.stringify(body)
headers
: object, defaults to{}
promise = makeXhr(url, body)
Returns a promise that is rejected if success
returns false, if the XHR emits error
or abort
, or if the parse
function throws.
The promise is resolved with whatever parse
returns.
Snippets you can copy/paste
const createRequestFunction = require('basic-xhr')
const post = createRequestFunction({
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
})
const response = post('/person', { name: 'Cool guy' })
If you have any common use cases, add a new snippet here.