Nearsighted Paramecium Multiverse
    Have ideas to improve npm?Join in the discussion! »

    @0y0/node-request

    1.0.3 • Public • Published

    @0y0/node-request · GitHub license npm

    @0y0/node-request is a tiny fetch wrapper tried to make HTTP request code more readable and more easy to write.

    Before

    fetch('/users/1', {
      method: 'PUT',
      headers: {
        'Content-Type': 'application/json'
        'Authorization': 'Bearer this-is-user-token'
      },
      body: JSON.stringify({
        email: 'foo@gmail.com',
        name: 'bar'
      })
    }).then(handleResponse, handleError)

    After

    Request
      .post('/users/1')
      .bearer('this-is-user-token')
      .jsonBody({ email: 'foo@gmail.com', name: 'bar' })
      .then(handleResponse, handleError)

    Installation

    npm install @0y0/node-request --save
    import Request from '@0y0/node-request'

    Usage

    Send a request

    Reqeust.get('/api')
    Reqeust.post('/api')
    Reqeust.put('/api')
    Reqeust.delete('/api')

    Set HTTP header

    // headers: { foo: 'bar' }
    Request.get('/api').header('foo', 'bar')
    
    // headers: { Authorization: 'bar' }
    Request.get('/api').auth('bar')
    
    // headers: { Authorization: 'Bearer token' }
    Request.get('/api').bearer('token')
    
    // headers: { foo1: 'bar1', Authorization: 'token' }
    Request.get('/api')
      .header('foo1', 'bar1')
      .header('foo2', undefined)
      .auth('token')

    Set URL parameters

    // url: /api/?foo=bar
    Request.get('/api').param('foo', 'bar')
    
    // url: /api/?foo2=bar2
    Request.get('/api').param('foo1', undefined).param('foo2', 'bar2')
    
    // url: /api/?foo1=bar1&foo2=bar2
    Request.get('/api').params({ foo1: 'bar1', foo2: 'bar2' })

    Set request body

    Request.post('/api').body('content')
    
    // Content-Type: application/json
    Request.post('/api').jsonBody({ foo: 'bar' })
    
    // Content-Type: multipart/form-data
    Request.post('/api').formBody({ foo: 'bar' })
    
    // Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    Request.post('/api').urlencodedFormBody({ foo: 'bar' })

    Handle JSON response

    Request.get('/api').acceptJson()

    License

    MIT

    Install

    npm i @0y0/node-request

    DownloadsWeekly Downloads

    0

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    7.33 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar