<?php
/**
* Elasticsearch PHP client
*
* @link https://github.com/elastic/elasticsearch-php/
* @copyright Copyright (c) Elasticsearch B.V (https://www.elastic.co)
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license https://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, Version 2.1
*
* Licensed to Elasticsearch B.V under one or more agreements.
* Elasticsearch B.V licenses this file to you under the Apache 2.0 License or
* the GNU Lesser General Public License, Version 2.1, at your option.
* See the LICENSE file in the project root for more information.
*/
declare(strict_types = 1);
namespace Elasticsearch\Endpoints;
use Elasticsearch\Common\Exceptions\RuntimeException;
use Elasticsearch\Endpoints\AbstractEndpoint;
/**
* Class Get
* Elasticsearch API name get
*
* NOTE: this file is autogenerated using util/GenerateEndpoints.php
* and Elasticsearch 7.16.0 (6fc81662312141fe7691d7c1c91b8658ac17aa0d)
*/
class Get extends AbstractEndpoint
{
public function getURI(): string
{
if (isset($this->id) !== true) {
throw new RuntimeException(
'id is required for get'
);
}
$id = $this->id;
if (isset($this->index) !== true) {
throw new RuntimeException(
'index is required for get'
);
}
$index = $this->index;
$type = $this->type ?? null;
if (isset($type)) {
@trigger_error('Specifying types in urls has been deprecated', E_USER_DEPRECATED);
}
if (isset($type)) {
return "/$index/$type/$id";
}
return "/$index/_doc/$id";
}
public function getParamWhitelist(): array
{
return [
'stored_fields',
'preference',
'realtime',
'refresh',
'routing',
'_source',
'_source_excludes',
'_source_includes',
'version',
'version_type'
];
}
public function getMethod(): string
{
return 'GET';
}
}