_auth_entity = $auth_entity; self::$_request_max = env("cfmgr.request.max") ?? 1000; self::$_request_timewait = env("cfmgr.request.timewait") ?? 10; } public function getClient(): Client { if ($this->_client === null) { $this->_client = new Client([ 'base_uri' => 'https://api.cloudflare.com/client/v4/', 'headers' => [ 'X-Auth-Email' => $this->_auth_entity->getID(), 'X-Auth-Key' => $this->_auth_entity->getAuthKey(), 'Accept' => 'application/json' ], 'verify' => env("socket.web.ssl.verify") ?? false, // SSL 인증서 검증을 비활성화 'User-Agent' => $this->getUserAgent() ]); } return $this->_client; } //override public function request(string $method, $uri = '', array $options = [], array $headers = []): ResponseInterface { if (self::$_request >= self::$_request_max) { log_message('warning', sprintf("--Cloudflare API Call %s초 대기 시작--", self::$_request_timewait)); sleep(intval(self::$_request_timewait)); self::$_request = 0; log_message('warning', sprintf("--Cloudflare API Call %s초 대기 종료--", self::$_request_timewait)); } self::$_request++; log_message("debug", "현재 request:[" . self::$_request . "]"); return parent::request($method, $uri, $options, $headers); } }