huaweicloud-sdk-php-obs icon indicating copy to clipboard operation
huaweicloud-sdk-php-obs copied to clipboard

建议将 Guzzle Http Client 作为一个选项暴露出来

Open xpader opened this issue 1 year ago • 1 comments
trafficstars

ObsClient.php 里,又是 chooseHandler, 又是 createHttpClient 但实际上这两个方法,调用方并不能参与进去做一些深度的定制,建议将 Guzzlle Client 实例作为一个可选参数传入。

主要是以下几个原因:

  • 可以深度定制 guzzle,比如为 Guzzle 指定了某些中间件用于记录请求,或者请求速度分析等等。
  • 可以替换 guzzle 底层的实例,比如 handler 切换到 Hyperf 框架的 Hyperf\Guzzle\CoroutineHandler 或者适配 Amphp 的 \AmpGuzzle\HttpClientHandler,这样可以让 ObsClient 在这类协程客户端中利用上协程的并发无阻塞特性。
  • 某些情况出于资源占用考虑,会全局共用一个 guzzle 实例,暴露出来则可以实现这一点。

改动不大,但意义深远。

另外提一点建议,sdk 的实现太过复杂了,感觉深受 Java 思想屠毒。

xpader avatar Jan 31 '24 10:01 xpader

我想知道这样的大师是怎么混进“x为”的,我也想去!!!

lihe6666 avatar Jul 17 '24 03:07 lihe6666