Faraday: HTTP.rb 适配器

创建于 2018-02-23  ·  6评论  ·  资料来源: lostisland/faraday

概括

最近发现了HTTP - The Gem! 另一个HTTP 客户端,但看起来非常简洁。

如果法拉第有一个适配器会很酷。

细节

我愿意提供帮助,事实上,我正在考虑自己编写。 只需要一些提示即可开始,并回答以下问题:

  • 如何编写适配器? 是否有指南或特定的实现可以很好地学习?
  • 在哪里提交拉取请求? HTTP.rb? 法拉第? 两个都?

最有用的评论

@PandaWhisperer faraday-http刚刚发布了第一版,这主要归功于您去年的工作: https: //rubygems.org/gems/faraday-http 🎉

如果您仍然计划使用它并且您有兴趣,我想更新邀请以将您添加为该存储库的合作者

所有6条评论

@PandaWhisperer ,感谢您对法拉第的关注!

到目前为止,适配器一直保存在法拉第,由核心团队维护。
但是,我们意识到这会导致一些问题,因此决定将它们移到外面。

我的首选解决方案是拥有一个专用 gem(例如faraday-http ),但在某些情况下,适配器已集成到客户端 gem 中(例如typhoeus )。
您可以自由选择您喜欢的那个,但前者通常是最好的选择,除非您是客户端 gem 的维护者。

关于实现,我最近就如何构建另一个适配器给出了一些建议。 您可以在 #766 中找到它们(以及指向适配器代码的链接)。

我也在使用 RSpec 重写测试,这个想法是允许外部 gem 将这些集成到他们的测试管道中。 但这不是短期的事情😅

我希望这些都是有用的,但如果您需要其他任何东西,请告诉我👍!

嘿@iMacTia。 我有一些时间并一起开发了一个基本的适配器。 您可以在此处看到拉取请求(我没有将其发送到主存储库)。 支持和测试基本功能。 如果您有时间,我将不胜感激您的反馈。

注意:这只是为了好玩,我现在实际上并不需要这个。 但是,如果有人这样做并想将其包装成宝石,请 LMK。

@PandaWhisperer并感谢您花时间解决这个问题!
我快速浏览了一下,PR 看起来是一个很好的起点👍
正如你已经指出的那样,我怀疑当前的实现是否提供对 SSL 或压缩的支持,但考虑到它是为了业余时间的乐趣而开发的,我会对结果感到满意 😄

v1.0 背后的整个想法是让创建新适配器的过程变得极其简单,以便像您这样的人(社区!)可以在不直接依赖核心团队的情况下为 Faraday 做出贡献。
目前正在进行的一项重要任务是简化测试并可以从外部适配器/中间件 gems 执行。

我目前专注于此,您可以在

一旦完成并合并,我们可以考虑使用您的适配器作为它的测试台👍

@PandaWhisperer 👋
经过几个月的痛苦和大量重构,1.0 中的测试现已转换为 RSpec 🎉!
作为其中的一部分,我创建了一组“共享示例”来描述适配器应该如何工作。

下一步是使这些测试可用于外部 gem,以便他们可以针对法拉第核心测试更改。

如果您仍在使用 HTTP 客户端并想尝试一下,请告诉我👍

@PandaWhisperer我们现在越来越接近 v1.0,适配器现在可以存在于他们自己的存储库中。
我从你写的适配器中自由地构建了一个 gem,你可以在这里找到主要的 PR: https :

这只是一个概念证明,但它可能会继续成为法拉第 1.0 的第一个官方外部适配器❤️

如果您仍然对该适配器感兴趣并且有一些时间,我很乐意将您添加为该项目的合作者,以便您可以随着时间的推移对其进行维护和改进。

@PandaWhisperer faraday-http刚刚发布了第一版,这主要归功于您去年的工作: https: //rubygems.org/gems/faraday-http 🎉

如果您仍然计划使用它并且您有兴趣,我想更新邀请以将您添加为该存储库的合作者

此页面是否有帮助?
0 / 5 - 0 等级