index ?? null; if (isset($index)) { return "/$index/_search/template"; } return "/_search/template"; } public function getParamWhitelist(): array { return [ 'ignore_unavailable', 'ignore_throttled', 'allow_no_indices', 'expand_wildcards', 'preference', 'routing', 'scroll', 'search_type', 'explain', 'profile', 'typed_keys', 'rest_total_hits_as_int', 'ccs_minimize_roundtrips' ]; } public function getMethod(): string { return isset($this->body) ? 'POST' : 'GET'; } public function setBody($body): SearchTemplate { if (isset($body) !== true) { return $this; } $this->body = $body; return $this; } }