| 
									
										
										
										
											2018-05-24 15:12:15 +02:00
										 |  |  | module.exports = function (rq) { | 
					
						
							| 
									
										
										
										
											2018-05-21 17:04:25 +02:00
										 |  |  |   return new Promise(async (resolve) => { | 
					
						
							|  |  |  |     const ping = async () => { | 
					
						
							|  |  |  |       try { | 
					
						
							| 
									
										
										
										
											2018-05-24 15:12:15 +02:00
										 |  |  |         await rq({ | 
					
						
							| 
									
										
										
										
											2018-06-04 14:39:26 +02:00
										 |  |  |           url: '/_health', | 
					
						
							|  |  |  |           method: 'HEAD', | 
					
						
							|  |  |  |           mode: 'no-cors', | 
					
						
							|  |  |  |           json: true, | 
					
						
							|  |  |  |           headers: { | 
					
						
							|  |  |  |             'Content-Type': 'application/json', | 
					
						
							|  |  |  |             'Keep-Alive': false, | 
					
						
							|  |  |  |           } | 
					
						
							| 
									
										
										
										
											2018-05-24 15:12:15 +02:00
										 |  |  |         }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return resolve(); | 
					
						
							| 
									
										
										
										
											2018-05-21 17:04:25 +02:00
										 |  |  |       } catch (err) { | 
					
						
							| 
									
										
										
										
											2018-05-24 15:12:15 +02:00
										 |  |  |         if (err.statusCode) { | 
					
						
							| 
									
										
										
										
											2018-05-21 17:04:25 +02:00
										 |  |  |           return resolve(); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |           return setTimeout(() => { | 
					
						
							|  |  |  |             ping(); | 
					
						
							| 
									
										
										
										
											2018-06-04 14:39:26 +02:00
										 |  |  |           }, 1000); | 
					
						
							| 
									
										
										
										
											2018-05-21 17:04:25 +02:00
										 |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-24 15:12:15 +02:00
										 |  |  |     setTimeout(() => { | 
					
						
							|  |  |  |       ping(); | 
					
						
							| 
									
										
										
										
											2018-06-04 14:39:26 +02:00
										 |  |  |     }, 1000); | 
					
						
							| 
									
										
										
										
											2018-05-21 17:04:25 +02:00
										 |  |  |   }); | 
					
						
							|  |  |  | }; |