next-req
TypeScript icon, indicating that this package has built-in type declarations

1.3.5 • Public • Published

Welcome to Next Req

Version Version Version License: MIT Twitter: niggnate

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

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i next-req

Weekly Downloads

1

Version

1.3.5

License

MIT

Unpacked Size

69 kB

Total Files

30

Last publish

Collaborators

  • niggnate