0.1.7 • Published 6 years ago

axios-rest-and-events v0.1.7

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

axios-rest-and-events

Installation

Using npm:

npm install --save axios-rest-and-events

Using cdn:

<script src="https://unpkg.com/axios-rest-and-events"></script>

Example

const net = new AxiosRestAndEvents();

console.log(await net.get('http://httpbin.org/get'));

let i = 0;

net.addEventListener('beforeReq', ({ data, next }) => {
    console.log(i);
    if (i > 5) next();
    else {
        i++;
        next(data);
    }
});
const net = new AxiosRestAndEvents({
    baseURL: 'http://httpbin.org',
}, [
    {
        listener: 'beforeReq',
        handler: ({ data, next }) => {
            console.log(data);
            next();
        }
    }
])

Constructor params

new AxiosRestAndEvents(axiosCreateConfig, handlers);

axiosCreateConfig

  • type: Object
  • default: {}
  • usage: if you need configurate axios, you can do it in this object, this object transmitted in axios.create

handlers

  • type Array
  • default: []
  • usage: add handlers after creating instance
  • example:
[{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        next();
    }
}]

Events

next

From all handlers you need to call next function to continue handlers queue

args

undefined

Queue don't stop and call next handler

[{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(1);
        next();
    }
},
{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(2);
        next();
    }
}]
{ config }

Queue stopping and creating new request with this config

[{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(1);
        const myUrl = 'https://google.com';
        if (data.config.url !== myUrl) next({ config: { url: myUrl } });
        else next();
    }
},
{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(2); // we reach this, only if requsted url https://google.com
        next();
    }
}]
{ response }

Queue stopping and response imitated by arg response

[{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(1);
        next({ response: { data: 1 } }) // result { data: 1 }
    }
},
{
    listener: 'afterReq',
    handler: ({ data, next }) => {
        console.log(2); // we never reach this
        next();
    }
}]
{ err }

Queue stopping and create promise reject

[{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(1);
        next({ err: new Error('error') })
    }
},
{
    listener: 'beforeReq',
    handler: ({ data, next }) => {
        console.log(2); // we never reach this
        next();
    }
}]
false

Queue stoppint and reject promise, reject { data: 'ErrorText' }

beforeReq

This event is happening before any requests

handler params

({ data = { config: {} }, next }) => {
    console.log(data.config);
    next();
}

config - contain information about request

afterReq

({ data = { config: {}, response: {}, err: {} }, next  }) => {
    console.log(data);
    next();
}

config - contain information about request response - defined if good request, contain response information err - defined if err request

afterReqGood

({ data = { config: {}, response: {} }, next  }) => {
    console.log(data);
    next();
}

config - contain information about request response - contain response information

afterReqErrorBadData

({ data = { config: {}, err: {} }, next  }) => {
    console.log(data);
    next();
}

config - contain information about request err - defined if err request

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago