unaxios
v0.1.8
Published
a tiny library contain basic functions of axios
Downloads
9
Maintainers
Readme
unaxios
a tiny library contain basic functions of axios
- Inspire by axios
Table of Contents
Installation
npm install --save unaxios
Then with a module bundler like rollup or webpack, use as you would anything else:
// using ES6 modules
import unaxios from 'unaxios';
// using CommonJS modules
var unaxios = require('unaxios');
The UMD build is also available on unpkg:
<script src="https://unpkg.com/unaxios/dist/unaxios.umd.js"></script>
You can find the library on window.unaxios
.
Usage
import http, { get, post } from 'unaxios';
// make request
http(config).then(function(response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
});
get(url[, params[, config]])
post(url[, data[, config]])
request config
{
// `url` is the server URL that will be used for the request
url:'/url'
// `method` is the request method to be used when making the request
method: 'get', // default
// `headers` are custom headers to be sent
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are the URL parameters to be sent with the request
// Must be a plain object
params: {
firstName: 'ddot'
},
// `data` is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
data: {
firstName: 'ddot'
},
// contentType headers to be sent
contentType: '' ,// when post method default application/json
// `timeout` specifies the number of milliseconds before the request times out.
// If the request takes longer than `timeout`, the request will be aborted.
timeout: 0, // default is Global defaults.timeout
// `withCredentials` indicates whether or not cross-site Access-Control requests
// should be made using credentials
withCredentials: false, // default
}
response schema
{
// `data` is the response that was provided by the server
data: {},
// `status` is the HTTP status code from the server response
status: 200,
// `statusText` is the HTTP status message from the server response
statusText: 'OK',
// `headers` the headers that the server responded with
// All header names are lower cased
headers: {},
// `config` is the config that was provided to `axios` for the request
config: {},
}
Config Defaults
You can specify config defaults that will be applied to every request.
Global unaxios defaults
import { defaults } from 'unaxios';
defaults.baseURL = 'https://api.example.com';
defaults.timeout = Infinity;
defaults.headers = {};
Interceptors
You can intercept requests or responses before they are handled by then
or catch
.
import { interceptors } from 'unaxios';
// Add a request interceptor
interceptors.request.use(function (config) {
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
// Add a response interceptor
interceptors.response.use(function (response) {
// Do something with response data
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
If you may need to remove an interceptor later you can.
import { interceptors } from 'unaxios';
const myInterceptor = interceptors.request.use(function () {/*...*/});
myInterceptor.dispose()