草庐IT

传递请求

全部标签

ruby-on-rails - RSpec 生成请求规范而不是 Controller 规范

我正在使用rspec-rails但我想在调用railsgcontrollerBlahs时进行更改,我希望创建spec/requests/,而不是spec/controllers/.谢谢! 最佳答案 railsgintegration_testfoo一切顺利! 关于ruby-on-rails-RSpec生成请求规范而不是Controller规范,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

ruby - 停止 ruby​​ http 请求修改 header 名称

我正在用ruby​​做一个http请求:http=Net::HTTP.new(uri.host,uri.port)req=Net::HTTP::Post.new(uri.path)req.body=payloadreq['customeheader']='xxxxxxxxx'http.set_debug_output$stdout我打开了调试,当请求被发布时,我可以看到标题被发布为:Customheader:xxxxxxxxx有没有办法阻止这个,我发布到的第三方服务器给出了一个错误,因为header名称不正确-它期待customheader: 最佳答案

ruby-on-rails - 从 webhook 请求中解析 JSON

使用https://requestb.in,我可以看到webhook正确发送header+json正文数据。但是当我向我的服务器发送json请求时,我在解析json时遇到错误。我的Controller(无法接收body数据):classReceiverController错误输出:application/json;charset=utf-8request:JSON::ParserError(AJSONtextmustatleastcontaintwooctets!):app/controllers/receiver_controller.rb:69:in`handle_post'req

ruby-on-rails - RSpec.configure 和请求对象

我有一个作为RESTfulAPI构建的Rails3.1应用程序。计划是根据通过AuthorizationHTTPheader在每个请求上传递的APIkey来处理身份验证。为了在RSpec中对此进行测试,我想在config.beforeblock中设置request.env["HTTP_AUTHORIZATION"]属性:RSpec.configuredo|config|config.mock_with:rspecconfig.use_transactional_fixtures=trueconfig.before(:each)do#SetAPIkeyinAuthorizationhea

ruby - 如何将字符串 "*.*"作为命令行参数传递给 ruby​​?

代码:#test_argv.rbputs"length:#{ARGV.length}"ARGV.eachdo|a|puts"Argument:#{a}"end如果我在调用上述方法时提供字符串"*.*"(带引号或不带引号),我将得到以下输出:C:\test>test_argv*.*length:5Argument:afile.TXTArgument:bfile.TXTArgument:cfile.TXTArgument:dfile.TXTArgument:somethingelse.TXT即c:\test中的文件列表。其他值,如"s*.*"返回somethingelse.TXT,正如您在

ruby-on-rails - 每次请求都会重新加载模块,因此初始化数据会丢失

我将值存储在模块内的类变量中,例如:moduleTranslationEnhancerdefself.install!klass@dictionaries||=[]我从config/initializers中的初始化程序中调用它:requireRails.root+"lib"+"translation_enhancer.rb"TranslationEnhancer::install!TranslationDictionary现在,如果我在开发环境中启动服务器,在第一个请求期间一切正常。然而,在那个请求之后,@dictionaries突然变成了nil。我已经注释了TranslationE

ruby - 我可以将 block 传递给 Proc 吗?

我想知道是否可以将block传递给Proc。简单地将一个block传递给Proc.call是行不通的:foo=Proc.new{yield}foo.call{puts"test"}结果:LocalJumpError:noblockgiven(yield)lambda表达式也是如此。然而,这确实适用于方法对象:classFoodefbaryieldendendbar=Foo.new.method:barbar.call{puts"Success!"}结果:Success!奇怪的是,在将方法对象转换为proc之后,它仍然有效:bar.to_proc.call{puts"Success!"}

ruby-on-rails - 如何避免法拉第请求编码获取参数?

我有以下代码conn=Faraday.new(:url=>'http://www.mapquestapi.com')do|faraday|faraday.response:logger#logrequeststoSTDOUTfaraday.adapterFaraday.default_adapter#makerequestswithNet::HTTPfaraday.options.params_encoder=Faraday::FlatParamsEncoderendresponse=conn.getdo|req|req.url'/geocoding/v1/batch'req.para

ruby - 如何使用 Ruby gem 通过 HTTP 请求发送二进制数据?

我正在尝试找到一种方法来重现在有效负载中发送二进制数据并设置Content-Type:binaryheader的HTTP请求,例如以下带有cURL的命令:echo-e'\x14\x00\x00\x00\x70\x69\x6e\x67\x00\x00'|curl-XPOST\-H'Content-Type:binary'\-H'Accept:*/*'\-H'Accept-Encoding:gzip,deflate,sdch'\-H'Accept-Language:en-US,en;q=0.8,pt;q=0.6'\-H'Cookie:JSESSIONID=m1q1hkaptxcqjuvru

ruby-on-rails - 请求规范中的 stub 方法错误

我用thisbook学习了关于RoR(Ruby-2.1,Rails4.x)的api教程.这是一本值得学习的好书,但我在第5章的rspec测试中遇到了这个问题。(请参阅该章中的list5.9。)Failure/Error:authentication.stub.and_return#doesnotimplement:request源代码:classAuthenticationincludeAuthenticableenddescribeAuthenticabledolet(:authentication){Authentication.new}describe"#current_user