src/BcaB2c/Controller/HealthcheckController.php line 10

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace BcaB2c\Controller;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. use Symfony\Component\HttpFoundation\Request;
  6. class HealthcheckController
  7. {
  8.     /**
  9.      * @param Request $request
  10.      *
  11.      * @return JsonResponse
  12.      */
  13.     public function __invoke(Request $request): JsonResponse
  14.     {
  15.         return new JsonResponse($this->audit($request->server->get('REQUEST_TIME_FLOAT'), microtime(true)));
  16.     }
  17.     private function audit(float $reqTimefloat $resTime): array
  18.     {
  19.         $status 'pass';
  20.         $elapsed $resTime $reqTime;
  21.         $duration sprintf(
  22.             '%02d:%02d:%02d.%06d',
  23.             number_format($elapsed 36000),
  24.             number_format($elapsed 600),
  25.             number_format($elapsed0),
  26.             (int) (($elapsed number_format($elapsed0)) * 1000000)
  27.         );
  28.         if ($elapsed 10) {
  29.             $status 'warn';
  30.         }
  31.         return [
  32.             'status' => $status,
  33.             'duration' => $duration,
  34.             'description' => 'API BCA-B2C',
  35.             'version' => 'v1',
  36.         ];
  37.     }
  38. }