11const { version, appVersion, baseUrl, baseUrlApp } = require ( "./config" ) ;
22
33var request = require ( "request" ) ,
4- logger ,
5- packageVersion = require ( "../package.json" ) . version ;
4+ logger ,
5+ packageVersion = require ( "../package.json" ) . version ;
66
77/**
88 * ApiClient is a function based Class.
99 * @param {!AutomationApiClient } settings An object that for lambda user credentials
1010 */
11- var ApiClient = function ( settings ) {
12- settings = settings || { } ;
13- /**
14- * Required check for username.
15- * @return {Error|null }
16- */
17- if ( ! settings . username ) {
18- throw new Error ( "Username is required." ) ;
19- }
20- /**
21- * Required check for accessKey.
22- * @return {Error|null }
23- */
24- if ( ! settings . accessKey ) {
25- throw new Error ( "Access Key is required." ) ;
26- }
27- if ( ! logger ) {
28- logger = require ( "./logger" ) ( settings . logFile ) ;
29- }
30- logger . info ( "Imported ApiClient and User Credenetials" , settings ) ;
31- ApiClient . authHeader =
32- "Basic " +
33- Buffer . from ( settings . username + ":" + settings . accessKey ) . toString (
34- "base64"
35- ) ;
36- ApiClient . settings = settings ;
11+ var ApiClient = function ( settings ) {
12+ settings = settings || { } ;
13+ /**
14+ * Required check for username.
15+ * @return {Error|null }
16+ */
17+ if ( ! settings . username ) {
18+ throw new Error ( "Username is required." ) ;
19+ }
20+ /**
21+ * Required check for accessKey.
22+ * @return {Error|null }
23+ */
24+ if ( ! settings . accessKey ) {
25+ throw new Error ( "Access Key is required." ) ;
26+ }
27+ if ( ! logger ) {
28+ logger = require ( "./logger" ) ( settings . logFile ) ;
29+ }
30+ logger . info ( "Imported ApiClient and User Credenetials" , settings ) ;
31+ ApiClient . authHeader =
32+ "Basic " + Buffer . from ( settings . username + ":" + settings . accessKey ) . toString ( "base64" ) ;
33+ ApiClient . settings = settings ;
3734
38- if ( settings . isApp ) {
39- ApiClient . baseUrl = baseUrlApp + appVersion . latestVersion ;
40- }
35+ if ( settings . isApp ) {
36+ ApiClient . baseUrl = baseUrlApp + appVersion . latestVersion ;
37+ }
4138} ;
4239
4340/**
@@ -46,43 +43,43 @@ var ApiClient = function(settings) {
4643 * @param {Function } fnCallback is callback function.
4744 * @return {Function|Error } return response to Callable method or throw Error.
4845 */
49- ApiClient . request = function ( options , fnCallback ) {
50- /** Initialize Callback function is not there */
51- fnCallback = fnCallback || function ( ) { } ;
52- /** Check baseUrl is on ApiClient */
53- if ( ApiClient . baseUrl === undefined ) {
54- ApiClient . baseUrl = baseUrl + version . latestVersion ;
55- ApiClient . request ( options , fnCallback ) ;
56- } else {
57- /** Update Options with User Credential If It is object */
58- if ( typeof options === "object" ) {
59- options . headers = {
60- Authorization : ApiClient . authHeader ,
61- "Content-Type" : "application/json" ,
62- Accept : "application/json" ,
63- client : "npm-rest-client" ,
64- version : packageVersion
65- } ;
66- options . url = ApiClient . baseUrl + options . url ;
67- }
68- /** For Debbuging purpose log Request Payload */
69- logger . info ( "Api request options " , options ) ;
70- request ( options , function ( e , response , body ) {
71- if ( e ) {
72- logger . error ( "Error while Api call of " , e ) ;
73- } else if ( response . statusCode === 200 ) {
74- // use try-catch Error possible due to json parse of non-parseable
75- try {
76- body = JSON . parse ( body ) ;
77- logger . info ( "Api response json : " , body ) ;
78- return fnCallback ( e , body ) ;
79- } catch ( e ) {
80- logger . error ( "Error while parse to json of output response " , e ) ;
46+ ApiClient . request = function ( options , fnCallback ) {
47+ /** Initialize Callback function is not there */
48+ fnCallback = fnCallback || function ( ) { } ;
49+ /** Check baseUrl is on ApiClient */
50+ if ( ApiClient . baseUrl === undefined ) {
51+ ApiClient . baseUrl = baseUrl + version . latestVersion ;
52+ ApiClient . request ( options , fnCallback ) ;
53+ } else {
54+ /** Update Options with User Credential If It is object */
55+ if ( typeof options === "object" ) {
56+ options . headers = {
57+ Authorization : ApiClient . authHeader ,
58+ "Content-Type" : "application/json" ,
59+ Accept : "application/json" ,
60+ client : "npm-rest-client" ,
61+ version : packageVersion ,
62+ } ;
63+ options . url = ApiClient . baseUrl + options . url ;
8164 }
82- }
83- return fnCallback ( new Error ( e || body ) , null ) ;
84- } ) ;
85- }
65+ /** For Debbuging purpose log Request Payload */
66+ logger . info ( "Api request options " , options ) ;
67+ request ( options , function ( e , response , body ) {
68+ if ( e ) {
69+ logger . error ( "Error while Api call of " , e ) ;
70+ } else if ( response . statusCode === 200 ) {
71+ // use try-catch Error possible due to json parse of non-parseable
72+ try {
73+ body = JSON . parse ( body ) ;
74+ logger . info ( "Api response json : " , body ) ;
75+ return fnCallback ( e , body ) ;
76+ } catch ( e ) {
77+ logger . error ( "Error while parse to json of output response " , e ) ;
78+ }
79+ }
80+ return fnCallback ( new Error ( e || body ) , null ) ;
81+ } ) ;
82+ }
8683} ;
8784
88- module . exports = ApiClient ;
85+ module . exports = ApiClient ;
0 commit comments