Helper library for making http requests through discovery
npm install @testlio/discovered-requestIt will make discovery request to get the location of the resource you want to call and then call it. Library uses request-promise to make actual http requests. All the request options (except 'servicePath' and 'api') are the same as in request-promise. For more information how to build your request look at request-promise.
##Installation
```
npm install @testlio/discovered-request
Lets call resource browsers in service named browser and at version 1. ServicePath: browser.v1.browsers
`
'use strict';
const request = require('@testlio/discovered-request');
const options = {
servicePath: 'browser.v1.browsers',
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJtYXJ0QHRlc3RsaW8uY29tIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.tMRlQfy2e1I0kfqrSJraPbBqgGnmIVrXj8ks-WBEJLg'
},
json: true
};
request(options).then((result) => {
console.log(result);
}).catch((err) => {
console.log('Request failed');
console.log(err);
});
`
'use strict';const request = require('@testlio/discovered-request');
const options = {
url: 'http://testlio.com'
};
request(options).then((result) => {
console.log(result);
}).catch((err) => {
console.log('Request failed');
console.log(err);
});
`Request only discovery
Returns the result of the resource discovery request of the specified service and version.
`js
'use strict';const request = require('@testlio/discovered-request');
const options = {
servicePath: 'browser.v1',
json: true,
headers: {
Authorization: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJtYXJ0QHRlc3RsaW8uY29tIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.tMRlQfy2e1I0kfqrSJraPbBqgGnmIVrXj8ks-WBEJLg'
}
};
request(options).then((result) => {
console.log(result);
}).catch((err) => {
console.log('Request failed');
console.log(err);
});
`Changing API location
Use the
api option to change the base API location. If api is undefined then the default value is used instead (currently set to https://api.testlio.com`
'use strict';const request = require('@testlio/discovered-request');
const options = {
api: 'http://local.testlio',
servicePath: 'browser.v1.browsers',
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJtYXJ0QHRlc3RsaW8uY29tIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.tMRlQfy2e1I0kfqrSJraPbBqgGnmIVrXj8ks-WBEJLg'
},
json: true
};
request(options).then((result) => {
console.log(result);
}).catch((err) => {
console.log('Request failed');
console.log(err);
});
`$3
If your environment doesn't support
new Promise you need to define promise dependency by yourself.`
const request = require('@testlio/discovered-request');
request.setPromisesDependency(require('Bluebird'));
``