init
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Magento\TestModuleGraphQlBackpressure\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);
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Magento\TestModuleGraphQlBackpressure\Model;
|
||||
|
||||
use Magento\Framework\GraphQl\Config\Element\Field;
|
||||
use Magento\Framework\GraphQl\Query\ResolverInterface;
|
||||
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
|
||||
|
||||
class TestServiceResolver implements ResolverInterface
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private int $counter = 0;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null)
|
||||
{
|
||||
$this->counter++;
|
||||
|
||||
return ['str' => 'read'];
|
||||
}
|
||||
|
||||
public function resetCounter(): void
|
||||
{
|
||||
$this->counter = 0;
|
||||
}
|
||||
|
||||
public function getCounter(): int
|
||||
{
|
||||
return $this->counter;
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Magento\TestModuleGraphQlBackpressure\Model;
|
||||
|
||||
use Magento\Framework\GraphQl\Config\Element\Field;
|
||||
use Magento\GraphQl\Model\Backpressure\RequestTypeExtractorInterface;
|
||||
|
||||
class TypeExtractor implements RequestTypeExtractorInterface
|
||||
{
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function extract(Field $field): ?string
|
||||
{
|
||||
if ($field->getResolver() == TestServiceResolver::class) {
|
||||
return 'testgraphqlbackpressure';
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user