草庐IT

my_header

全部标签

ruby - 从 Sinatra 访问 header

我正在尝试访问sinatra过滤器中的header。我的请求包含header“HTTP_AUTH”,但我无法访问它。我的过滤器是beforedohalt403unlessrequest['HTTP_AUTH']=='test'end根据我的机架测试,它工作正常。browser.get'/mypath',"CONTENT_TYPE"=>"application/json","HTTP_AUTH"=>'test'但是当我尝试从其他来源访问时,我无法访问它。如果我putsrequest.env我可以看到token在请求中,但我无法访问它。"HTTP_CONNECTION"=>"close",

ruby-on-rails - 带有 HTTP header 的 redirect_to

不确定这是否可行或是否有意义,但我正在尝试在设置HTTPheader字段后进行重定向。像这样的东西:request.headers['Accept']='application/json'redirect_tourl显然这不起作用,因为request是当前请求,而不是重定向。有什么方法可以使用自定义HTTPheader调用redirect_to吗? 最佳答案 无论您使用何种语言或框架,都不可能重定向到设置了自定义header的页面。换句话说,无法触发HTTP重定向并导致客户端(浏览器)添加自定义header。正如您自己提到的,您正在

ruby-on-rails - Rails 6.1 将不经修改返回 Content-Type header ...改为使用 `#media_type`

当引用此block时,此弃用消息对我来说意味着什么?defjson_response(object,status=:ok)renderjson:object,status:statusend编辑讯息:Rails6.1willreturnContent-Typeheaderwithoutmodification…use#media_typeinstead 最佳答案 当我将我的应用程序从Rails5.2.3升级到Rails6.0.0-rc1时,我收到了同样的错误消息config/application.rb#thiswastheline

ruby - 什么是 X-Cascade header

Rackdocumentation说FileserverssupportX-Cascadeheaderrack-mount说Rack::MountsupportsRack’s+X-Cascade+convention什么是X-Cascade?我找不到有关X-Cascade的任何文档。 最佳答案 服务器会将X-Cascadeheader设置为“pass”继续尝试其他路由。这允许嵌套/堆叠多个路由。这样做的一般目的是将请求传递给其他中间件以在该特定处理程序不处理请求时处理请求。 关于ruby

ruby - 我可以禁用 ruby​​ 记录器的日志 header 吗?

我目前遇到了一些问题。您可能知道,ruby记录器会在每个新创建的日志文件的顶部添加一个记录header。"#Logfilecreatedon%sby%s\n"%[Time.now.to_s,Logger::ProgName]我正在记录CSV文件以便稍后将它们导入仓库,通常我只是跳过带有标题的第一行。记录器中似乎存在错误,因为有时日志记录header出现不止一次,就在日志文件的中间。所以我决定简单地离开那个标题。令我惊讶的是,我没有发现任何可以在创建记录器时通过的论据。我想到了这样的事情:Logger.new"info.log",:skip_header=>true但它就是不存在。我搜索

ruby-on-rails - 将 header 附加到 Rspec Controller 测试

我正在尝试为我的Controller编写测试,该Controller接收来自外部服务的请求。到目前为止,这是我的测试:describeApplyControllerdocontext'whenvalid'dolet(:parameters)dofile=File.joinFile.dirname(__FILE__),'..','samples','Indeed.json'JSON.parse(File.readfile)endlet(:signature){'GC02UVj0d4bqa5peNFHdPQAZ2BI='}subject(:response){post:indeed,par

ruby - Sinatra 请求 ["SOME_HEADER"] 不适用于 POST;文档错误?

Sinatra自述文件says:request["SOME_HEADER"]#valueofSOME_HEADERheader鉴于此应用:require'sinatra'post'/env'doenv['HTTP_X_FOO']endpost'/request'dorequest['X-Foo']endpost'/request_rack_http_format'dorequest['HTTP_X_FOO']end第一个规范通过;接下来的两个失败:describe"Sinatrashouldplacetheheaderin"dobefore(:all)doheader'X-Foo','

ruby - 了解 [ClassOne, ClassTwo].each(& :my_method)

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whatdoesmap(&:name)meaninRuby?我在观看railscast时看到了这段代码。[Category,Product].(&:delete_all)关于清除数据库。我在IRC中询问了线路,并被告知(&:delete_all)是的捷径{|model|model.delete_all}我用下面的测试了这个classClassOnedefclass_methodputs1endendclassClassTwodefclass_methodputs2endend[ClassOne,ClassTw

ruby-on-rails - 在 Rails 4 中显示或获取 HTTP header 属性

我有一个用Rails开发的应用程序,我想查看HTTPheader中的属性。有没有办法读取这些属性?它们存储在哪里?有人提到了request.headers。这样对吗?我看不到此数组中的任何属性。 最佳答案 request.headers不返回散列,而是返回ActionDispatch::Http::Headers的实例,它是rackenv的包装器。ActionDispatch::Http::Headers实现了很多方法,比如[]和[]=,这使得它表现得像一个散列,但是它不会覆盖默认的inspect,因此您无法仅通过p或pp查看键值对

ruby-on-rails - 停用 Gem - "you have already activated rake 0.9.3.beta.1, but my Gemfile requires rake 0.9.2"

我正在尝试运行迁移,但我不断收到错误消息:rakeaborted!Undefinedmethodprerequisitefornil:NilClass.似乎我以某种方式激活了一个名为rake0.9.3.beta.1的gem-但是我已经更改了gembundleinstall并运行bundleshowrake并且它显示安装了rake0.9.2。我是第一次使用Git,所以我认为这可能与仍在使用测试版rake的应用程序有关-但我已经完成了推送,它显示gemfile已更新。当我向下查看gem库时,我只能看到rake0.9.2版本。我应该看哪里?我还有一条Rails:Railtie弃用警告-但我认