header('Cache-Control', 'No-Store'); /** @var \App\Models\Service|null */ if (\optional($service = app(Service::class))->id) { $service->incrementStat(); } /** @var object $data */ $data = $response->getData(); /** Check if it's V2 or V4 response. */ if ( gettype($data) === "object" and isset($data->status) and isset($data->data) and isset($data->version) and in_array($data->status, [ApiStatus::OK->value(), ApiStatus::KO->value()]) ) { /** Return direct ApiResponse */ return $response; } $status = intval($response->getStatusCode() / 100) == 2 ? ApiStatus::OK : ApiStatus::KO; if (Helper::isRequestForApiV2($request)) { return $response->setData(new V2ApiResponse((object)$data, $status)); } return $response->setData(new V4ApiResponse((object)$data, $status)); } }