This commit is contained in:
2026-09-15 10:26:34 +08:00
commit ecf36afa56
10493 changed files with 1404888 additions and 0 deletions
@@ -0,0 +1,24 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\TestModuleWebapiBackpressure\Model;
use Magento\Framework\App\Backpressure\ContextInterface;
use Magento\Framework\App\Backpressure\SlidingWindow\LimitConfig;
use Magento\Framework\App\Backpressure\SlidingWindow\LimitConfigManagerInterface;
class LimitConfigManager implements LimitConfigManagerInterface
{
/**
* @inheritDoc
*/
public function readLimit(ContextInterface $context): LimitConfig
{
return new LimitConfig(2, 60);
}
}
@@ -0,0 +1,39 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\TestModuleWebapiBackpressure\Model;
use Magento\TestModuleWebapiBackpressure\Api\TestReadServiceInterface;
class TestReadService implements TestReadServiceInterface
{
/**
* @var int
*/
private int $counter = 0;
/**
* @inheritDoc
*/
public function read(): string
{
$this->counter++;
return 'read';
}
public function resetCounter(): void
{
$this->counter = 0;
}
public function getCounter(): int
{
return $this->counter;
}
}
@@ -0,0 +1,27 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\TestModuleWebapiBackpressure\Model;
use Magento\Framework\Webapi\Backpressure\BackpressureRequestTypeExtractorInterface;
use Magento\TestModuleWebapiBackpressure\Api\TestReadServiceInterface;
class TypeExtractor implements BackpressureRequestTypeExtractorInterface
{
/**
* @inheritDoc
*/
public function extract(string $service, string $method, string $endpoint): ?string
{
if ($service == TestReadServiceInterface::class) {
return 'testwebapibackpressure';
}
return null;
}
}