35 lines
		
	
	
		
			844 B
		
	
	
	
		
			PHP
		
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			844 B
		
	
	
	
		
			PHP
		
	
|  | <?php | ||
|  | 
 | ||
|  | class Server { | ||
|  |     private $db; | ||
|  | 
 | ||
|  |     public function __construct($database) { | ||
|  |         $this->db = $database->getConnection(); | ||
|  |     } | ||
|  | 
 | ||
|  |     // get Jilo Server status
 | ||
|  |     public function getServerStatus($host = '127.0.0.1', $port = 8080, $endpoint = '/health') { | ||
|  |         $url = "http://$host:$port$endpoint"; | ||
|  |         $options = [ | ||
|  |             'http' => [ | ||
|  |                 'method'    => 'GET', | ||
|  |                 'timeout'   => 3, | ||
|  |             ], | ||
|  |         ]; | ||
|  |         $context = stream_context_create($options); | ||
|  |         $response = @file_get_contents($url, false, $context); | ||
|  | 
 | ||
|  |         // We check the response if it's 200 OK
 | ||
|  |         if ($response !== false && isset($http_response_header) && strpos($http_response_header[0], '200 OK') !== false) { | ||
|  |             return true; | ||
|  |         } | ||
|  | 
 | ||
|  |         // If it's not 200 OK
 | ||
|  |         return false; | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | ?>
 |