1.0.2 • Published 10 months ago

byu-api-request v1.0.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
10 months ago

BYU logo byu-api-request

Utility for making a server to server request using BYU's current API gateway authentication method

codecov

Requires Node 18+

Installation

npm i --save byu-api-request

Usage

This package will automatically generate the host domain to be used based on your environment variables. You need to have a variable named ENVIRONMENT_NAME in you environment variables and have it assigned to one of the following values:

  • prd for Production
  • dev for Sandbox
  • apidev for API Development

Set up with setOauthSettings and then make requests with request

Examples:

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

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

    // Request using another method
    const response2 = await api.request({ method: 'PUT', url: `/byuapi/students/v2/123456789/enrolled_classes/Summer2019,BIO,100,001`, body: { credit_hours: 3 } })
    
    // Request that passes along an original JWT
    const response3 = await api.request({ url: `/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 api.request({ url: `/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 fetch.

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago