@testlio/discovered-request

1.1.1 • Public • Published

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'));

Readme

Keywords

Package Sidebar

Install

npm i @testlio/discovered-request

Weekly Downloads

19

Version

1.1.1

License

ISC

Unpacked Size

23 kB

Total Files

15

Last publish

Collaborators

  • testlio-ci