1717// [START iot_http_includes]
1818const fs = require ( 'fs' ) ;
1919const jwt = require ( 'jsonwebtoken' ) ;
20- const request = require ( 'request' ) ;
20+ const request = require ( 'retry- request' ) ;
2121// [END iot_http_includes]
2222
2323console . log ( 'Google Cloud IoT Core HTTP example.' ) ;
@@ -141,19 +141,28 @@ function publishAsync (authToken, messageCount, numMessages) {
141141 binary_data : binaryData
142142 }
143143 } ;
144+
144145 const options = {
145146 url : url ,
146147 headers : {
147148 'authorization' : `Bearer ${ authToken } ` ,
148149 'content-type' : 'application/json' ,
149150 'cache-control' : 'no-cache'
150151 } ,
152+ body : postData ,
151153 json : true ,
152- body : postData
154+ method : 'POST' ,
155+ retries : 5 ,
156+ shouldRetryFn :
157+ function ( incomingHttpMessage ) {
158+ return incomingHttpMessage . statusMessage !== 'OK' ;
159+ }
153160 } ;
161+
154162 // Send events for high-frequency updates, update state only occasionally.
155163 const delayMs = argv . messageType === 'events' ? 1000 : 2000 ;
156- request . post ( options , function ( error , response , body ) {
164+ console . log ( JSON . stringify ( request ) ) ;
165+ request ( options , function ( error , response , body ) {
157166 if ( error ) {
158167 console . error ( 'Received error: ' , error ) ;
159168 } else if ( response . body . error ) {
@@ -182,6 +191,7 @@ function publishAsync (authToken, messageCount, numMessages) {
182191// [START iot_http_getconfig]
183192function getConfig ( authToken , version ) {
184193 console . log ( `Getting config from URL: ${ urlBase } ` ) ;
194+
185195 const options = {
186196 url : urlBase + '/config?local_version=' + version ,
187197 headers : {
@@ -190,9 +200,16 @@ function getConfig (authToken, version) {
190200 'cache-control' : 'no-cache'
191201
192202 } ,
193- json : true
203+ json : true ,
204+ retries : 5 ,
205+ shouldRetryFn :
206+ function ( incomingHttpMessage ) {
207+ console . log ( 'Retry?' ) ;
208+ return incomingHttpMessage . statusMessage !== 'OK' ;
209+ }
194210 } ;
195- request . get ( options , function ( error , response , body ) {
211+ console . log ( JSON . stringify ( request . RetryStrategies ) ) ;
212+ request ( options , function ( error , response , body ) {
196213 if ( error ) {
197214 console . error ( 'Received error: ' , error ) ;
198215 } else if ( response . body . error ) {
0 commit comments