Mas logs y middlewares en Guzzle

This commit is contained in:
Juan Pablo Vial
2025-06-06 17:11:22 -04:00
parent 2a442417ce
commit d601d7d719
4 changed files with 27 additions and 7 deletions

View File

@ -19,15 +19,25 @@ return [
$container->get('API_PASSWORD')
);
},
GuzzleHttp\HandlerStack::class => function(ContainerInterface $container) {
$stack = new GuzzleHttp\HandlerStack();
$stack->setHandler($container->get(GuzzleHttp\Handler\CurlHandler::class));
$stack->push(GuzzleHttp\Middleware::mapRequest(function(Psr\Http\Message\RequestInterface $request) use ($container) {
$login = $container->get(Incoviba\Service\Login::class);
return $request->withHeader('Authorization', "Bearer {$login->getKey($container->get('API_KEY'))}");
}));
$stack->push(GuzzleHttp\Middleware::mapRequest(function(Psr\Http\Message\RequestInterface $request) use ($container) {
if (!$request->hasHeader('Authorization')) {
return false;
}
return $request;
}));
return $stack;
},
Psr\Http\Client\ClientInterface::class => function(ContainerInterface $container) {
$login = $container->get(Incoviba\Service\Login::class);
return new GuzzleHttp\Client([
'base_uri' => $container->get('API_URL'),
'headers' => [
'Authorization' => [
"Bearer {$login->getKey($container->get('API_KEY'))}"
]
]
'handler' => $container->get(GuzzleHttp\HandlerStack::class),
]);
}
];