first commit

This commit is contained in:
annnj-company
2026-04-17 18:29:53 +08:00
parent e49fa5a215
commit 130c1026c4
5615 changed files with 1639145 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<?php
namespace GuzzleHttp\Command\Guzzle\QuerySerializer;
interface QuerySerializerInterface
{
/**
* Aggregate query params and transform them into a string
*
* @return string
*/
public function aggregate(array $queryParams);
}

View File

@@ -0,0 +1,33 @@
<?php
namespace GuzzleHttp\Command\Guzzle\QuerySerializer;
class Rfc3986Serializer implements QuerySerializerInterface
{
/**
* @var bool
*/
private $removeNumericIndices;
/**
* @param bool $removeNumericIndices
*/
public function __construct($removeNumericIndices = false)
{
$this->removeNumericIndices = $removeNumericIndices;
}
/**
* {@inheritDoc}
*/
public function aggregate(array $queryParams)
{
$queryString = http_build_query($queryParams, '', '&', PHP_QUERY_RFC3986);
if ($this->removeNumericIndices) {
$queryString = preg_replace('/%5B[0-9]+%5D/simU', '%5B%5D', $queryString);
}
return $queryString;
}
}