Commit 9ce81fb9 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Corrections diverses

parent 8fb45d5f
Loading
Loading
Loading
Loading
Loading
+12 −0
Changes for composer.json: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -27,5 +27,17 @@
        "psr-4": {
            "Unicaen\\ApiClientBundleTest\\": "test/"
        }
    },
    "extra": {
        "symfony": {
            "bundle": {
                "Unicaen\\ApiClientBundle\\UnicaenApiClientBundle": "all"
            }
        }
    },
    "config": {
        "allow-plugins": {
            "symfony/runtime": true
        }
    }
}
+9 −9
Changes for config/services.yaml: 9 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -34,11 +34,11 @@ services:
    public: true

  GuzzleHttp\Client:
    public: true
#    class: GuzzleHttp\Client
    factory: Unicaen\ApiClientBundle\Client\Rest\RestApiClientFactory
    
  Unicaen\ApiClientBundle\Client\Soap\SoapApiClient:
    public: true
    factory: UnicaenApi\Client\Soap\SoapApiClientFactory

  Unicaen\ApiClientBundle\ApiClientMiddlewarePluginManager:
    arguments:
@@ -49,7 +49,7 @@ services:
#      $options: { username: "username", password: "password" }

  Eljam\GuzzleJwt\Persistence\SimpleCacheTokenPersistence:
    public: true
#    class: Eljam\GuzzleJwt\Persistence\SimpleCacheTokenPersistence
    factory: Unicaen\ApiClientBundle\ClientMiddleware\Jwt\SimpleCacheTokenPersistenceFactory

  Unicaen\ApiClientBundle\ClientMiddleware\Jwt\SimpleCacheTokenPersistenceFactory:
@@ -57,16 +57,16 @@ services:
      $cacheItemPool: '@unicaen_api.jwt_middleware_token_persistence.cache'

  Eljam\GuzzleJwt\JwtMiddleware:
    public: true
    factory: Unicaen\ApiClientBundle\ClientMiddleware\Jwt\JwtMiddlewareFactory
#    class: Eljam\GuzzleJwt\JwtMiddleware
    factory: '@Unicaen\ApiClientBundle\ClientMiddleware\Jwt\JwtMiddlewareFactory'

  Unicaen\ApiClientBundle\ClientMiddleware\Jwt\JwtMiddlewareFactory:
    arguments:
      -
        base_uri: 'https://host.domain.fr',
        token_url: '/tickets',
        username: 'admin',
        password: 'admin',
        base_uri: 'https://host.domain.fr'
        token_url: '/tickets'
        username: 'admin'
        password: 'admin'
        # Stratégie pour la demande de token JWT
        auth_strategy: '@Eljam\GuzzleJwt\Strategy\Auth\FormAuthStrategy'
        # Stratégie de persistence du token JWT
+5 −0
Changes for src/ApiClientMiddlewarePluginManager.php: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@ readonly class ApiClientMiddlewarePluginManager
        Assert::allIsInstanceOf($middlewares, MiddlewareInterface::class);
    }

    public function getMiddlewares(): array
    {
        return $this->middlewares;
    }

    public function getMiddleware($name, ?array $options = []): MiddlewareInterface
    {
        Assert::keyExists(
+15 −8
Changes for src/Client/Rest/RestApiClientFactory.php: 15 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -12,7 +12,11 @@ use Webmozart\Assert\Assert;

class RestApiClientFactory
{
    public function __invoke(ContainerInterface $container, ?array $options = null): Client
    public function __construct(private ApiClientMiddlewarePluginManager $apiClientMiddlewarePluginManager)
    {
    }

    public function __invoke(): Client
    {
        $stack = HandlerStack::create();

@@ -27,15 +31,18 @@ class RestApiClientFactory
        }

        // ajout des éventuels middlwares spécifiés dans la config
        $middlewares = $options['middlewares'] ?? [];
        if ($middlewares) {
            /** @var ApiClientMiddlewarePluginManager $middlewarePluginManager */
            $middlewarePluginManager = $container->get(ApiClientMiddlewarePluginManager::class);
            foreach ((array)$middlewares as $name) {
                $middleware = $middlewarePluginManager->getMiddleware($name);
//        $middlewares = $options['middlewares'] ?? [];
//        if ($middlewares) {
//            /** @var ApiClientMiddlewarePluginManager $middlewarePluginManager */
//            $middlewarePluginManager = $container->get(ApiClientMiddlewarePluginManager::class);
//            foreach ((array)$middlewares as $name) {
//                $middleware = $middlewarePluginManager->getMiddleware($name);
//                $stack->push($middleware);
//            }
//        }
        foreach ($this->apiClientMiddlewarePluginManager->getMiddlewares() as $middleware) {
            $stack->push($middleware);
        }
        }

        $options['handler'] = $stack;

+2 −2
Changes for src/UnicaenApiClientBundle.php: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -46,8 +46,8 @@ class UnicaenApiClientBundle extends AbstractBundle
//        $loader->load('services.yaml');
        $container->import('../config/services.yaml');

        $parameters = $builder->getParameter('import');
        $services = $container->services();
//        $parameters = $builder->getParameter('import');
//        $services = $container->services();

//        $connections = $parameters['connections'] ?? [];
//        foreach($connections as $name => $value) {