我采用了一些代码,其中有5到6个内联的Faraday请求,这是我第一次使用它。我把它抽象成一个模块。这是我第一次使用这个库,目前我有:
module CoreService
def self.net_connection param_url
conn = Faraday.new(:url => param_url ) do |c|
c.use Faraday::Request::UrlEncoded # encode request params as "www-form-urlencoded"
c.use Faraday::Response::Logger # log request & response to STDOUT
c.use Faraday::Adapter::NetHttp # perform requests with Net::HTTP
end
return conn
end
def self.success? arg
if [200,302].include? arg.status
return true
else
return false
end
end
end并将使用如下形式:
conn=CoreService.net_connection SOME::URL
url_val = "/other/things"
response = conn.get url_val
if CoreService.success? response
puts "THAT WAS A SUCCESS"
else
puts "THAT WAS NOT A SUCCESS"
end然而,这感觉有点不雅观。我最好用不同的方式来写这个,比如用monkeypatching来匹配响应?当前的Faraday response bojects支持成功?实例方法,但这只检查了200。
发布于 2020-02-27 09:56:39
根据VERSION = '1.0.0',有一个response.success?方法,它在http响应代码200到299上返回true
https://stackoverflow.com/questions/30148029
复制相似问题