byu-wso2-request
TypeScript icon, indicating that this package has built-in type declarations

3.3.3 • Public • Published

BYU logo byu-wso2-request

Utility for making a server to server request using wso2 authentication

codecov

Requires Node 10+

Installation

npm i --save byu-wso2-request

Migration from v1 to v2.1+

  • Update to Node 8 or above
  • Use promises instead of callbacks for request

Migration from v2 to v3

  • Update to Node 10 or above
  • If you want the statusCode property added to responses, make the requests with the resolveWithFullResponse option set to true (See: #30)

Usage

Set up with setOauthSettings and then make requests with request

Examples:

const wso2 = require('byu-wso2-request')

(async () => {
  // Will default to api.byu.edu if host is not passed in
  const production = process.env.ENVIRONMENT_NAME === 'prd'
  const host = production ? 'api.byu.edu' : 'api-sandbox.byu.edu'
  
  // Alternatively, you can set the host in the environment variables
  // process.env.WSO2_HOST = 'api.byu.edu'

  // Do this once on startup
  await wso2.setOauthSettings('myClientKey', 'myClientSecret', { host })
  
  // After that, make all the requests you want
  try {
    // Simple GET request
    const response1 = await wso2.request({ url: `https://${host}/echo/v1/echo/test` })

    // Request using another method
    const response2 = await wso2.request({ method: 'PUT', url: `https://${host}/byuapi/students/v2/123456789/enrolled_classes/Summer2019,BIO,100,001`, body: { credit_hours: 3 } })
    
    // Request that passes along an original JWT
    const response3 = await wso2.request({ url: `https://${host}/echo/v1/echo/test` }, 'some original jwt to pass along')
    
    // Request where you want to know what status code came back (instead of just rejecting if it's not 2XX)
    const response4 = await wso2.request({ url: `https://${host}/echo/v1/echo/test`, simple: false, resolveWithFullResponse: true })
  } catch (e) {
    console.error(e) // Handle errors
  }
})

For more information on the options you can use for the request function, see request-promise

Readme

Keywords

none

Package Sidebar

Install

npm i byu-wso2-request

Weekly Downloads

430

Version

3.3.3

License

Apache-2.0

Unpacked Size

21.7 kB

Total Files

5

Last publish

Collaborators

  • mjweather
  • yoshutch
  • lehinpm
  • oscea
  • stuft2
  • mhailstone
  • arasmus8
  • garygsc
  • martingarn
  • snelg
  • byu-oit-bot
  • gi60s