Welcome to Next Req
HTTP Promise based client
Prerequisites
- npm >= 5.5.0
- node >= 9.3.0
Install
npm install next-req
Features
- Make HTTP requests
- Promised based API
- Request and Response interceptors
- Transforms Response for JSON payload
- Abort requests[Cancel requests]
- Transforms Request and Response payload
Usage
import nextreq from 'next-req'
nextreq.get('www.yourapi.com').then(response => {
const payload = response.payload
// TODO - payload
}).catch(error => {
// TODO - error
}).finally(() => {
// will always run
})
Generating GET
request with PARAMS
import nextreq from 'next-req'
nextreq.get('www.yourapi.com/user?session=true').then(response => {
const payload = response.payload
// TODO - payload
}).catch(error => {
// TODO - error
}).finally(() => {
// will always run
})
Generating GET
request with params of config
import nextreq from 'next-req'
nextreq.get('www.yourapi.com/user', {
params: {
session: true
}
}).then(response => {
const payload = response.payload
// TODO - payload
}).catch(error => {
// TODO - error
}).finally(() => {
// will always run
})
Generating POST
request
import nextreq from 'next-req'
nextreq.post('www.yourapi.com/user', {
params: {
setSession: true
}
}).then(response => {
const payload = response.payload
// TODO - payload
}).catch(error => {
// TODO - error
}).finally(() => {
// will always run
})
Generating API request using async/await
on function using GET
import nextreq from 'next-req'
const getPayload = async () => {
try {
const request = await nextreq.get('www.yourapi.com/user?session=true')
const payload = request.payload
// TODO - with payload
} catch (error) {
// TODO - errors
} finally {
// will always run
}
}
Generating API request using async/await
on function using POST
import nextreq from 'next-req'
const postPayload = async () => {
try {
const request = await nextreq.post('www.yourapi.com/user', {
params: {
setSession: true
}
})
const payload = request.payload
// TODO - with payload
} catch (error) {
// TODO - errors
} finally {
// will always run
}
}
Interceptors
Generating interceptors
import nextreq from 'next-req'
// Add request interceptor
nextreq.interceptors.request.use(configs => {
// TODO - with configs
return configs
})
// Add response interceptor
nextreq.interceptors.response.use(
response => {
// TODO - with response
return response
},
error => {
// TODO - errors
// Handle error
return Promise.reject(error)
}
)
Error handling
import nextreq from 'next-req'
nextreq.post('www.yourapi.com/user', {
params: {
setSession: false
}
}).then(response => {
// TODO - with response
}).catch (error => {
// Evaluate error response to proceed
if (error.response) {
// Get error payload
const payload = error.response.payload
// Get error status
const status = error.response.status
// Get headers
const headers = error.response.headers
// TODO - errors
} else {
// An error occured in request
// Get message
const message = error.message
}
// Get configs
const configs = error.config
})
Author
👤 Prince Khanyile
- Twitter: @niggnate
- LinkedIn: @prince-khanyile-8301a2189
License
MIT