问题标签 [faraday]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - work around Ruby's broken URI.parse, follow redirects
I am using Ruby to scrape webpages that sometimes return redirects which I want to follow. There is many Ruby gems that do that, but there is a problem:
Ruby's URI.parse
explodes on some URIs that are technically invalid but work in browsers like "http://www.google.com/?q=<>"
All the HTTP client libraries I have tried (HttParty, Faraday, RestClient) break when they encounter such a URI in a redirect (this is on ruby 1.9.3)
rest-client:
faraday:
httparty:
open-uri:
What can I do to make this work?
ruby - 使用 Faraday 和 Syncrony 修复错误
这是我的第一个 Ruby 应用程序,我在使用 Faraday 和 em_syncrony 适配器修复错误时遇到问题,我的代码是这样的:
即使断开互联网连接,我也无法挽救任何类型的错误。我可以看到响应状态为“0”,但代码没有引发任何错误,也没有进入救援块。
另一个问题是,无论我为超时分配什么值,它都不会超时!我已经尝试了所有关于法拉第超时的代码,但没有成功。
这有什么帮助吗??提前致谢!!
ruby - 如何调试 Ruby google-api-client 的 HTTP
我正在尝试使用 google-api-client 与 Google Drive 集成。由于发生了很多事情,我希望能够看到网络上发生的事情(http 级别)。客户端似乎使用法拉第进行 http 连接。我如何从 Faraday 中获取有线转储进行调试?
ruby - Faraday - 对 Freebase API 的多个 GET 参数请求
我一直试图从 Freebase API 获取主题信息。无论如何,这主要是一个 Ruby Faraday 问题。
注意有两个 &filter。使用我的网络浏览器可以正常工作。但是,在 Ruby 上执行以下任一操作时:
或者...
或者...
然后过滤器被 API 忽略。关于我的主题的每一条信息,我都会得到巨大的回应。
您可以通过执行不带过滤器的查询来复制结果: https ://www.googleapis.com/freebase/v1/topic/m/02676m4?limit=20
问题: 任何人都可以想出为什么我通过法拉第遇到这个问题的原因,但直接通过我的浏览器访问时却没有?
额外提示: 如果我只对法拉第请求使用一个过滤器,它就可以正常工作。但我真的需要使用多个过滤器。
Freebase 主题 API: http ://wiki.freebase.com/wiki/Topic_API
谢谢!
ruby-on-rails - 模型中可用的 Rails 会话令牌
我有一个与 API 通信的无数据库 Rails 应用程序。
对于身份验证,我将用户凭据发送到 api 并在成功时接收会话令牌。随后,我发出的每个 api 请求都应包含该令牌。
api_request.rb:
my_session.rb:
如何使会话令牌可用于每次调用的 ApiRequest 模型?
rspec - 使用 Faraday 和 Rspec 存根
我有一个看起来像这样的模型:
和一个看起来像这样的测试:
不过,这个测试并不能真正让我满意,因为我正在测试的是我正在使用 Faraday 进行一些 POST,但我实际上无法测试 URL、标头或正文,因为它们是通过一个块。我尝试使用 Faraday 测试适配器,但我也没有看到任何测试 URL、标头或正文的方法。
有没有更好的方法来编写我的 Rspec 存根?或者我是否能够以某种我无法理解的方式使用法拉第测试适配器?
谢谢!
ruby-on-rails - 如何启用基于法拉第和事件机同步的高性能http客户端?
我正在重构一个 ROR 项目,该项目使用法拉第作为请求客户端,并具有预定义的适配器以与 EM 同步使用,如下所示:
我知道我可以在我的 config/application.rb 中启用 FiberPool,但是如何启用 EM.synchrony?
我是红宝石新手,具有 EM 的基本知识,但我仍然不太清楚以下内容的含义:
因此,非常感谢任何解释和示例。
ruby - Ruby 的法拉第 - 多次包含相同的参数
我正在使用一个 API,该 API 迫使我多次发送相同的参数名称以级联不同的过滤条件。所以一个示例 api GET 调用如下所示:
我将 Faraday 用于我的 REST 适配器,它将其 URL 参数作为哈希(因此 - 它具有唯一键)。这意味着我不能做这样的事情:
我试图在发送请求之前破解 url:
哪个不起作用 - 当我调试响应时,我看到发送到 API 服务器的实际 url 是:
我无法更改 API。有没有办法继续与法拉第合作并以优雅的方式解决这个问题?谢谢。
faraday - 如何用 Faraday 捕获 Faraday::Error::ConnectionFailed 异常?
如果我运行来自 Faraday 的 HTTP 请求,而网络不可用(即在 wifi 环境中或离线工作),那么默认情况下捕获此异常会很好:
默认情况下,法拉第如何解决这个问题?
ruby-on-rails - 如何在法拉第的轨道观察者中使用延迟工作
通过我正在构建的应用程序,我们使用 trumpia 来安排并向我们的用户发送短信和电子邮件消息。当他们注册时,我正在使用观察者来触发对 trumpia 的调用,并且我正在使用 faraday 来实际连接 trumpia API。我的问题是这些电话需要很多时间,我需要将它们放到后台。我还有一组较小的命令需要立即运行,所以我不能只是延迟整个 after_create。
我正在考虑使用delayed_job 来完成此任务,但我不知道如何使用像我的代码一样复杂的东西来做到这一点。我怎样才能做到这一点?我想我需要将法拉第调用放入一个方法中,但我不知道如何。 - 谢谢
这是我的观察者。我省略了不必要的代码。
我正在使用导轨 3.2.8。但我还没有安装延迟的工作,我对不同的排队宝石持开放态度。