@testlio/discovered-request
v1.1.1
Published
Helper library for making http requests through discovery
Downloads
464
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-request
Usage
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'));