@testlio/discovered-request
v1.1.1
Published
Helper library for making http requests through discovery
Readme
Discovered-request
Helper library for making requests through discovery.
It 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-requestUsage
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);
});Usage without discovery
'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.
'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);
});Changing 'Promise' dependency
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'));