11var os = require ( 'os' ) ,
2+ url = require ( 'url' ) ,
23 util = require ( 'util' ) ,
34 send = require ( './sender' ) ,
45 logger = require ( './logger' ) ,
@@ -7,33 +8,36 @@ var os = require('os'),
78
89 appname = module . exports . name ,
910
10- options = {
11- hostname : CONFIG . HOST ,
12- port : CONFIG . PORT ,
13- method : 'POST' ,
14- secureProtocol : 'SSLv3_method' ,
15- headers : {
16- 'Content-Type' : 'application/json' ,
17- 'X-Stackify-Key' : CONFIG . APIKEY ,
18- 'X-Stackify-PV' : 'V1'
11+ options = function options ( path , body ) {
12+ return {
13+ url : CONFIG . PROTOCOL + '://' + CONFIG . HOST + path ,
14+ method : 'POST' ,
15+ json : true ,
16+ headers : {
17+ 'Content-Type' : 'application/json' ,
18+ 'X-Stackify-Key' : CONFIG . APIKEY ,
19+ 'X-Stackify-PV' : 'V1'
20+ } ,
21+ body : body
1922 }
2023 } ;
2124
2225module . exports . methods = {
2326
2427 identifyApp : function identifyApp ( settings ) {
25- var opt = options ,
26- fail_counter = 0 ,
27- data = {
28+ var body = {
2829 DeviceName : os . hostname ( ) ,
2930 AppName : appname ,
3031 ConfiguredAppName : appname ,
3132 AppLocaton : process . env . PWD
3233 } ,
34+ opt = options ( CONFIG . IDENTIFY_PATH , body ) ,
35+ fail_counter = 0 ,
3336 callback = function ( data ) {
3437 console . log ( 'successfully identified' ) ;
3538
36- CONFIG . APP_DETAILS = JSON . parse ( data ) ;
39+ CONFIG . APP_DETAILS = data ;
40+ console . log ( util . inspect ( data ) ) ;
3741 CONFIG . APP_DETAILS . ENV = settings . env ;
3842 CONFIG . APIKEY = settings . apiKey ;
3943
@@ -44,28 +48,29 @@ module.exports.methods = {
4448 fail_counter += 1 ;
4549 if ( fail_counter <= CONFIG . REQUEST_ATTEMPTS ) {
4650 setTimeout ( function ( ) {
47- send ( opt , data , callback , fail ) ;
51+ send ( opt , callback , fail ) ;
4852 } , CONFIG . REQUEST_TIMER ) ;
4953 }
5054 } ;
5155
52- opt . path = CONFIG . IDENTIFY_PATH ;
53-
5456 console . log ( 'Identifying...' ) ;
5557
58+ if ( settings . proxy ) {
59+ CONFIG . PROXY = opt . proxy = settings . proxy
60+ } ;
61+
5662 if ( typeof ( settings . apiKey ) === 'string' && typeof ( settings . env ) === 'string' ) {
5763 opt . headers [ 'X-Stackify-Key' ] = settings . apiKey ;
5864 CONFIG . APPNAME = appname ;
59- send ( opt , data , callback , fail ) ;
65+ send ( opt , callback , fail ) ;
6066 } else {
6167 throw new TypeError ( 'You have to pass apiKey and env parameters' ) ;
6268 }
6369
6470 } ,
6571
6672 postLogs : function postLogs ( messages , cb , fail ) {
67- var opt = options ,
68- data = {
73+ var body = {
6974 CDID : CONFIG . APP_DETAILS . DeviceID ,
7075 CDAppID : CONFIG . APP_DETAILS . DeviceAppID ,
7176 AppNameID : CONFIG . APP_DETAILS . AppNameID ,
@@ -78,9 +83,14 @@ module.exports.methods = {
7883 Logger : 'Node.js Stackify Logger ver. 1.0' ,
7984 Platform : 'Node.js' ,
8085 Msgs : messages
86+ } ,
87+ opt = options ( CONFIG . LOG_SAVE_PATH , body ) ;
88+
89+ if ( CONFIG . PROXY ) {
90+ opt . proxy = CONFIG . PROXY ;
8191 } ;
8292
83- opt . path = CONFIG . LOG_SAVE_PATH ;
84- send ( options , data , cb , fail ) ;
93+
94+ send ( opt , cb , fail ) ;
8595 }
8696} ;
0 commit comments