@@ -2,33 +2,38 @@ import config from 'config';
22
33const Promise = require ( 'bluebird' ) ;
44const axios = require ( 'axios' ) ;
5+ const tcCoreLibAuth = require ( 'tc-core-library-js' ) . auth ;
56
7+ const m2m = tcCoreLibAuth . m2m ( config ) ;
68
79let client = null ;
810
911/**
1012 * Get Http client to bus api
1113 * @return {Object } Http Client to bus api
1214 */
13- function getClient ( ) {
15+ async function getClient ( ) {
1416 if ( client ) return client ;
1517 const apiBusUrl = config . get ( 'busApiUrl' ) ;
16- const apiBusToken = config . get ( 'busApiToken' ) ;
18+ try {
19+ const token = await m2m . getMachineToken ( config . AUTH0_CLIENT_ID , config . AUTH0_CLIENT_SECRET ) ;
20+ client = axios . create ( { baseURL : apiBusUrl } ) ;
1721
18- client = axios . create ( { baseURL : apiBusUrl } ) ;
22+ // Alter defaults after instance has been created
23+ client . defaults . headers . common . Authorization = `Bearer ${ token } ` ;
1924
20- // Alter defaults after instance has been created
21- client . defaults . headers . common . Authorization = `Bearer ${ apiBusToken } ` ;
25+ // Add a response interceptor
26+ client . interceptors . response . use ( function ( res ) { // eslint-disable-line
27+ return res ;
28+ } , function ( error ) { // eslint-disable-line
29+ // Ingore response errors
30+ return Promise . resolve ( ) ;
31+ } ) ;
2232
23- // Add a response interceptor
24- client . interceptors . response . use ( function ( res ) { // eslint-disable-line
25- return res ;
26- } , function ( error ) { // eslint-disable-line
27- // Ingore response errors
28- return Promise . resolve ( ) ;
29- } ) ;
30-
31- return client ;
33+ return client ;
34+ } catch ( err ) {
35+ return Promise . reject ( `Bus api calling - Error in genearting m2m token : ${ err . message } ` ) ;
36+ }
3237}
3338
3439/**
@@ -42,39 +47,42 @@ function getClient() {
4247function createEvent ( type , message , logger ) {
4348 const body = JSON . stringify ( message ) ;
4449 logger . debug ( `Sending message: ${ JSON . stringify ( message ) } ` ) ;
45- return getClient ( ) . post ( '/bus/events' , {
46- type,
47- message : body ,
48- } )
49- . then ( ( resp ) => {
50- logger . debug ( 'Sent event to bus-api' ) ;
51- logger . debug ( `Sent event to bus-api [data]: ${ resp . data } ` ) ;
52- logger . debug ( `Sent event to bus-api [status]: ${ resp . status } ` ) ;
53- } )
54- . catch ( ( error ) => {
55- logger . debug ( 'Error sending event to bus-api' ) ;
56- if ( error . response ) {
57- // The request was made and the server responded with a status code
58- // that falls out of the range of 2xx
59- logger . debug ( error . response . data ) ;
60- logger . debug ( error . response . status ) ;
61- logger . debug ( error . response . headers ) ;
62- } else if ( error . request ) {
63- // The request was made but no response was received
64- // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
65- // http.ClientRequest in node.js
66- logger . debug ( error . request ) ;
67- } else {
68- // Something happened in setting up the request that triggered an Error
69- logger . debug ( error . message ) ;
70- }
71- logger . debug ( error . config ) ;
72-
73- Promise . resolve ( ) ; // eslint-disable-line
50+ return getClient ( ) . then ( ( busClient ) => {
51+ logger . debug ( 'calling bus-api' ) ;
52+ busClient . post ( '/bus/events' , {
53+ type,
54+ message : body ,
55+ } )
56+ . then ( ( resp ) => {
57+ logger . debug ( 'Sent event to bus-api' ) ;
58+ logger . debug ( `Sent event to bus-api [data]: ${ resp . data } ` ) ;
59+ logger . debug ( `Sent event to bus-api [status]: ${ resp . status } ` ) ;
60+ } )
61+ . catch ( ( error ) => {
62+ logger . debug ( 'Error sending event to bus-api' ) ;
63+ if ( error . response ) {
64+ // The request was made and the server responded with a status code
65+ // that falls out of the range of 2xx
66+ logger . debug ( error . response . data ) ;
67+ logger . debug ( error . response . status ) ;
68+ logger . debug ( error . response . headers ) ;
69+ } else if ( error . request ) {
70+ // The request was made but no response was received
71+ // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
72+ // http.ClientRequest in node.js
73+ logger . debug ( error . request ) ;
74+ } else {
75+ // Something happened in setting up the request that triggered an Error
76+ logger . debug ( error . message ) ;
77+ }
78+ logger . debug ( error . config ) ;
79+ Promise . resolve ( ) ; // eslint-disable-line
80+ } ) ;
81+ } ) . catch ( ( errMessage ) => {
82+ logger . debug ( errMessage ) ;
7483 } ) ;
7584}
7685
77-
7886module . exports = {
7987 createEvent,
8088} ;
0 commit comments