bearerToken() ?? $request->api_token; $service = Service::getFromBearerToken($bearerToken); $service->incrementStat(); } if ($isApiV2Request) { $bearerToken = $request->bearerToken(); if ($bearerToken) { $service = Service::getFromBearerToken($bearerToken); } if ($request->api_token) { $service = Service::getFromApiToken($request->api_token); } if (isset($service)) { $service->incrementStat(); } } } catch (ModelNotFoundException $e) { Log::error(sprintf('Could not increment stats %s', $e->getMessage())); } if ($isApiV1Request) { return $response; } $data = $response->getData(); // Is reponse is already a V2ApiResponse then just return it if ( isset($data->status) and isset($data->data) and isset($data->version) and in_array($data->status, [ApiStatus::OK()->value, ApiStatus::KO()->value]) ) { return $response; } /** @ var \App\Enums\ApiStatus */ $status = intval($response->getStatusCode() / 100) == 2 ? ApiStatus::OK() : ApiStatus::KO(); return $response->setData(new V2ApiResponse((object)$response->getData(), $status)); } }