@@ -51,7 +51,7 @@ const getTestResults = async (testId, quality, cb) => {
5151 cloudinaryCaller ( wtpRes . imageList , wtpRes . dpr , wtpRes . metaData , quality , cb , rollBarMsg ) ;
5252 }
5353 } catch ( e ) {
54- cb ( { status : 'error' , message : 'Error calling WTP with testId ' + testId , error : error , logLevel : logger . LOG_LEVEL_ERROR } , null , response , rollBarMsg ) ;
54+ cb ( { status : 'error' , message : 'Error calling WTP with testId ' + testId , error : e , logLevel : logger . LOG_LEVEL_ERROR } , null , response , rollBarMsg ) ;
5555 return ;
5656 }
5757} ;
@@ -75,27 +75,27 @@ const runWtpTest = async (url, mobile, cb) => {
7575 fvonly : 1 , // first view only
7676 timeline : 1 // workaround for WPT sometimes hanging on getComputedStyle()
7777 } ,
78- headers : { 'User-Agent' : 'WebSpeedTest' }
78+ headers : { 'User-Agent' : 'WebSpeedTest' } ,
79+ throwHttpErrors : false
7980 } ;
81+ let response ;
82+ let rollBarMsg = { testId : "" , analyzedUrl : url , thirdPartyErrorCode : "" , file : path . basename ( ( __filename ) ) } ;
8083 try {
81- const response = await got . post ( options ) ;
84+ response = await got . post ( options ) ;
8285 const { statusCode, body} = response ;
83- let bodyJson = JSON . parse ( body ) ;
84- let tID = ( typeof bodyJson . data !== 'undefined' && typeof bodyJson . data . testId !== 'undefined' ) ?
85- ( bodyJson . data . testId ) :
86- "N/A" ;
87- let rollBarMsg = { testId : tID , analyzedUrl : url , thirdPartyErrorCode : "" , file : path . basename ( ( __filename ) ) } ;
8886 if ( statusCode !== 200 ) {
8987 rollBarMsg . thirdPartyErrorCode = response . statusCode ;
90- cb ( { status : 'error' , message : 'WTP returned bad status with url ' + url } , null , response , rollBarMsg ) ;
88+ cb ( { status : 'error' , message : 'WTP returned bad status with url ' + url , error : response . statusMessage , logLevel : logger . LOG_LEVEL_ERROR } , null , response , rollBarMsg ) ;
9189 return ;
9290 }
9391 if ( ! body ) {
94- cb (
95- { status : 'error' , message : 'WTP returned empty body with url ' + url , error : 'empty body' } , null , response ,
96- rollBarMsg ) ;
92+ cb ( { status : 'error' , message : 'WTP returned empty body with url ' + url , error : 'empty body' } , null , response , rollBarMsg ) ;
9793 return ;
9894 }
95+ let bodyJson = JSON . parse ( body ) ;
96+ rollBarMsg . testId = ( typeof bodyJson . data !== 'undefined' && typeof bodyJson . data . testId !== 'undefined' ) ?
97+ ( bodyJson . data . testId ) :
98+ "N/A" ;
9999 let testId = resultParser . parseTestResponse ( bodyJson , rollBarMsg ) ;
100100 if ( typeof testId === 'object' ) {
101101 cb ( null , testId ) ;
@@ -116,11 +116,13 @@ const checkTestStatus = async (testId, quality, cb) => {
116116 searchParams : { test : testId , k : config . get ( 'wtp.apiKey' ) , f : "json" } ,
117117 'headers' : { 'User-Agent' : 'WebSpeedTest' }
118118 } ;
119+ let response ;
120+ let rollBarMsg = { } ;
119121 try {
120- const response = await got . get ( options ) ;
122+ response = await got . get ( options ) ;
121123 const { statusCode, body} = response ;
122124 let bodyJson = JSON . parse ( body ) ;
123- let rollBarMsg = { testId : testId , thirdPartyErrorCode : "" , file : path . basename ( ( __filename ) ) } ;
125+ rollBarMsg = { testId : testId , thirdPartyErrorCode : "" , file : path . basename ( ( __filename ) ) } ;
124126 if ( statusCode !== 200 ) {
125127 cb ( { status : 'error' , message : 'WTP returned bad status testId ' + testId , error : response . statusCode } , null , response , rollBarMsg ) ;
126128 return ;
0 commit comments