![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/opensearch-project/opensearch-php/src/OpenSearch/Endpoints/ |
<?php declare(strict_types=1); /** * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 * * 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. */ namespace OpenSearch\Endpoints; use OpenSearch\Common\Exceptions\InvalidArgumentException; use OpenSearch\Endpoints\AbstractEndpoint; use OpenSearch\Serializers\SerializerInterface; use Traversable; class Bulk extends AbstractEndpoint { public function __construct(SerializerInterface $serializer) { $this->serializer = $serializer; } public function getURI(): string { $index = $this->index ?? null; if (isset($index)) { return "/$index/_bulk"; } return "/_bulk"; } public function getParamWhitelist(): array { return [ 'wait_for_active_shards', 'refresh', 'routing', 'timeout', '_source', '_source_excludes', '_source_includes', 'pipeline', 'require_alias' ]; } public function getMethod(): string { return 'POST'; } public function setBody($body): Bulk { if (isset($body) !== true) { return $this; } if (is_array($body) === true || $body instanceof Traversable) { foreach ($body as $item) { $this->body .= $this->serializer->serialize($item) . "\n"; } } elseif (is_string($body)) { $this->body = $body; if (substr($body, -1) != "\n") { $this->body .= "\n"; } } else { throw new InvalidArgumentException("Body must be an array, traversable object or string"); } return $this; } }