1.3.5 ā€¢ Published 10 months ago

next-req v1.3.5

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

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 requestsCancel 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

1.3.5

10 months ago

1.3.4

10 months ago

1.3.3

10 months ago

1.3.2

10 months ago

1.3.1

10 months ago

1.3.0

10 months ago

1.1.0

10 months ago

1.2.0

11 months ago

1.0.0

11 months ago