@@ -2,33 +2,38 @@ import config from 'config';
2
2
3
3
const Promise = require ( 'bluebird' ) ;
4
4
const axios = require ( 'axios' ) ;
5
+ const tcCoreLibAuth = require ( 'tc-core-library-js' ) . auth ;
5
6
7
+ const m2m = tcCoreLibAuth . m2m ( config ) ;
6
8
7
9
let client = null ;
8
10
9
11
/**
10
12
* Get Http client to bus api
11
13
* @return {Object } Http Client to bus api
12
14
*/
13
- function getClient ( ) {
15
+ async function getClient ( ) {
14
16
if ( client ) return client ;
15
17
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 } ) ;
17
21
18
- client = axios . create ( { baseURL : apiBusUrl } ) ;
22
+ // Alter defaults after instance has been created
23
+ client . defaults . headers . common . Authorization = `Bearer ${ token } ` ;
19
24
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
+ } ) ;
22
32
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
+ }
32
37
}
33
38
34
39
/**
@@ -42,39 +47,42 @@ function getClient() {
42
47
function createEvent ( type , message , logger ) {
43
48
const body = JSON . stringify ( message ) ;
44
49
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 ) ;
74
83
} ) ;
75
84
}
76
85
77
-
78
86
module . exports = {
79
87
createEvent,
80
88
} ;
0 commit comments