Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
xpader opened this issue Jan 31, 2024 · 1 comment
Open

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

xpader opened this issue Jan 31, 2024 · 1 comment

Comments

@xpader
Copy link

xpader commented Jan 31, 2024

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

主要是以下几个原因:

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

改动不大,但意义深远。

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

@lihe6666
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants