Files
oficial/cli/setup/setups/client.php

56 lines
2.5 KiB
PHP
Raw Normal View History

2023-11-25 00:56:18 -03:00
<?php
use Psr\Container\ContainerInterface;
return [
2024-07-26 23:15:48 -04:00
Incoviba\Service\Login::class => function(ContainerInterface $container) {
2025-06-30 15:52:28 -04:00
$uri = $container->has('API_URL') ? $container->get('API_URL') : 'http://proxy/api';
2024-07-26 23:15:48 -04:00
$client = new GuzzleHttp\Client([
2025-06-30 15:52:28 -04:00
'base_uri' => $uri,
2024-07-26 23:15:48 -04:00
'headers' => [
'Authorization' => [
'Bearer ' . md5($container->get('API_KEY'))
]
]
]);
return new Incoviba\Service\Login(
$client,
$container->get(Psr\Log\LoggerInterface::class),
implode(DIRECTORY_SEPARATOR, [$container->get('folders')->cache, 'token']),
$container->get('API_USERNAME'),
2025-06-27 18:00:45 -04:00
$container->get('API_PASSWORD'),
$container->get('API_KEY')
2024-07-26 23:15:48 -04:00
);
},
2025-06-06 17:11:22 -04:00
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);
2025-06-27 18:00:45 -04:00
return $request->withHeader('Authorization', "Bearer {$login->getKey()}");
2025-06-06 17:11:22 -04:00
}));
$stack->push(GuzzleHttp\Middleware::mapRequest(function(Psr\Http\Message\RequestInterface $request) use ($container) {
if (!$request->hasHeader('Authorization')) {
return false;
}
return $request;
}));
return $stack;
},
2023-11-25 00:56:18 -03:00
Psr\Http\Client\ClientInterface::class => function(ContainerInterface $container) {
return new GuzzleHttp\Client([
2025-06-25 18:07:08 -04:00
'base_uri' => $container->has('API_URL') ? $container->get('API_URL') : 'http://proxy/api',
2025-06-06 17:11:22 -04:00
'handler' => $container->get(GuzzleHttp\HandlerStack::class),
2023-11-25 00:56:18 -03:00
]);
2025-06-25 18:07:08 -04:00
},
Incoviba\Service\FastCGI::class => function(ContainerInterface $container) {
2025-06-27 18:00:45 -04:00
$fcgi = new Incoviba\Service\FastCGI(
$container->get(Incoviba\Service\Login::class),
2025-06-25 18:07:08 -04:00
$container->has('SOCKET_HOST') ? $container->get('SOCKET_HOST') : 'web',
$container->has('SOCKET_PORT') ? $container->get('SOCKET_PORT') : 9000,
$container->has('SOCKET_ROOT') ? $container->get('SOCKET_ROOT') : '/code/public/index.php'
);
2025-06-27 18:00:45 -04:00
$fcgi->setLogger($container->get(Psr\Log\LoggerInterface::class));
return $fcgi;
2025-06-25 18:07:08 -04:00
},
2023-11-25 00:56:18 -03:00
];