feat : Decorator Http
This commit is contained in:
@@ -11,14 +11,16 @@ declare(strict_types=1);
|
||||
*/
|
||||
|
||||
use App\Interface\Test\Adapter\CacheInterface;
|
||||
use App\Interface\Test\Decorator\HttpClientInterface;
|
||||
use App\Interface\Test\Decorator\LoggerInterface;
|
||||
use App\Service\Test\Adapter\Cache\FileCacheAdapter;
|
||||
use App\Lib\Request\GuzzleHttpClient;
|
||||
use App\Service\Test\Adapter\Cache\RedisCacheService;
|
||||
use App\Service\Test\Decorator\Container\BasicFileLogger;
|
||||
use App\Service\Test\Decorator\Container\CriticalLoggerDecorator;
|
||||
use App\Service\Test\Decorator\Container\IpLoggerDecorator;
|
||||
use App\Service\Test\Decorator\Container\TimestampLoggerDecorator;
|
||||
use Hyperf\Logger\LoggerFactory;
|
||||
use App\Service\Test\Decorator\Http\LoggableHttpClientService;
|
||||
use App\Service\Test\Decorator\Http\RetryableHttpClientService;
|
||||
use function Hyperf\Support\make;
|
||||
|
||||
return [
|
||||
@@ -30,4 +32,10 @@ return [
|
||||
$logger = make(IpLoggerDecorator::class, ['logger' => $logger]);
|
||||
return make(CriticalLoggerDecorator::class, ['logger' => $logger]);
|
||||
},
|
||||
HttpClientInterface::class => function () {
|
||||
$client = make(GuzzleHttpClient::class);
|
||||
$logger = make(BasicFileLogger::class);
|
||||
$client = make(RetryableHttpClientService::class,['httpClient' => $client , 'logger' => $logger , 'maxRetries' => 2]);
|
||||
return make(LoggableHttpClientService::class,['httpClient' => $client , 'logger' => $logger]);
|
||||
}
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user