byu-wso2-request
v3.3.3
Published
Utility for making a server to server request using wso2 authentication
Downloads
1,076
Maintainers
Keywords
Readme
byu-wso2-request
Utility for making a server to server request using wso2 authentication
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 theresolveWithFullResponse
option set totrue
(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