1.1.11 • Published 11 months ago

axiosbluebird v1.1.11

Weekly downloads
4
License
MIT
Repository
github
Last release
11 months ago

axiosBluebird

Axios with Promise (Bluebird) cancelation

NODE: v10.15.1

NPM: v6.4.1

For ESM: use @harianto/axioscancelable for example import axiosCancelable from '@harianto/axioscancelable'

How to use - get

const axiosBluebird = require("axiosbluebird")
const Promise = axiosBluebird.Promise
let retrieveDataRequest = Promise.resolve()

const retrieveData = (url, params) => {
  retrieveDataRequest.cancel()
  retrieveDataRequest = axiosBluebird.get(url, params)
  return retrieveDataRequest
    .then(json => json.data)
    .catch(console.error.bind(console, "FAIL - retrieveData:"))
}
retrieveData('http://api.sylo.space/api/valtech/cases', {id: 17})
retrieveData('http://api.sylo.space/api/valtech/cases?id=40', {id: [1,2,3]}) // previous progressing queue will cancel
  .then(console.log.bind(console))

How to use - axios

Parameters as Object in axios documentation

Parameters as String not supported

const axiosBluebird = require("axiosbluebird")
const Promise = axiosBluebird.Promise
let axiosDataRequest = Promise.resolve()

const axiosData = requestConfig => {
  axiosDataRequest.cancel()
  axiosDataRequest = axiosBluebird.axios(requestConfig)
  return axiosDataRequest
    .catch(console.error.bind(console, "FAIL - axiosData:"))
}
// 1st request
axiosData({
  method: "post",
  url: "/user/12345",
  data: {
    firstName: "Fred",
    lastName: "Flintstone"
  }
})

// 2nd request
axiosData({
  method: "get",
  url: "http://bit.ly/2mTM3nY",
  responseType: "stream" })
    .then(response => response.data.pipe(fs.createWriteStream("ada_lovelace.jpg"))
) // previous progressing queue will be canceled

responseType: 'stream' not yet tested

Methods

Promise: Bluebird Promise with Cancelation enabled

axios ( requestConfig: Object ): Request with configuration


delete ( url: String , params: Object ): Axios request with DELETE method

get ( url: String , params: Object ): Axios request with GET method

head ( url: String , params: Object ): Axios request with HEAD method

options ( url: String , params: Object ): Axios request with OPTIONS method


post ( url: String, params: Object ): Axios request with POST method

put ( url: String, params: Object ): Axios request with PUT method

patch ( url: String, params: Object ): Axios request with PATCH method

NOTE!

Param properties as array

params: {
  filter: [8, 16, 32]
}

will output:

filter=8&filter=16&filter=32

Idealisticly:

filter=[8,16,32]

But some servers can't accept brackets

1.1.11

11 months ago

1.1.10

3 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago