草庐IT

rack-rewrite

全部标签

ruby - 从 Rack 应用程序提供非公共(public)二进制文件

我正在制作一个简单的Rack应用程序,在身份验证后授予对protected文件的访问权限。由于文件中的数据是敏感的,因此它们位于应用程序的非公共(public)文件夹中。目前,在检查session数据后,我只是打开文件进行读取并将内容作为响应的主体发送。感觉很难看,而且对于较大的文件来说肯定非常耗费资源。示例响应:["200",{"Content-Type"=>MIME::Types.type_for(file).first.to_s},File.open(file).read()]我调查了Rack::Sendfile,但据我了解,它是一个中间件,不能从应用程序本身内部发送文件。从Ra

ruby - 如何在 Rack::Builder::map 中使用 Lotus 路由器

有没有办法一起使用map和(莲花)路由器命名空间?下面是一个示例config.ru我正在尝试作为演示运行。require'bundler'Bundler.requiremoduleDemoclassApplicationdefinitialize@app=Rack::Builder.newdomap'/this_works'dorunProc.new{|env|[200,{"Content-Type"=>"text/html"},["this_works"]]}endmap'/api'dorunLotus::Router.newdoget'/api/',to:->(env){[200,

ruby - 您已经激活了 rack 1.3.2,但是您的 Gemfile 需要 rack 1.2.3。考虑使用 bundle exec

我在尝试运行我的应用程序时遇到了问题:Youhavealreadyactivatedrack1.3.2,butyourGemfilerequiresrack1.2.3.Considerusingbundleexec.我读了很多关于这种错误的资料,但我没有找到适合我的解决方案我已经按照建议删除了我的Gemfile.lock并重新运行包here我已经在使用最新版本的passenger(3.0.8)-按照建议herebundleexecrake技巧不能用于我的情况谢谢你提前 最佳答案 运行bundleinstall--binstubs,您

ruby-on-rails - 为什么 Rails 测试环境中的 rack env hash 为空?

在我的Rails应用程序中,我在我的一个Controller操作中访问env哈希。类似的东西:defmy_before_filterenv['some.key']="Somethingorother"end这非常适合我的要求。如果我在测试环境中启动我的Rails应用程序,并访问如下操作:#/usersinUsersController#indexdefindexputsenv.inspectend然后envhash的内容就如预期的输出到控制台了。当我从RSPec示例中获取此操作时,输出是一个空散列?it'shouldgettheindexaction'doget:indexend...

ruby - 无法加载此类文件 -- rack/handler/puma

我的设置和错误当我使用rackup和puma启动我的Sinatra应用程序时出现错误。我的config.ru文件如下所示:#\-spumarequire'./controller/main.rb'runSinatra::Application所以当我现在使用rackup时,我得到了这个错误:/home/username/.rvm/gems/ruby-1.9.3-p392/gems/rack-1.5.2/lib/rack/handler.rb:76:in`require':cannotloadsuchfile--rack/handler/puma(LoadError)我使用ruby​​1

ruby-on-rails - 为什么我不能取消对非管理员用户的 Rack-mini-profiler 授权

我正在尝试在我的ROR应用程序上安装Rack-mini-profiler。我安装了gem,探查器在开发中运行良好,但我无法取消对非管理员用户的特定请求的授权。我将以下代码放在我的ApplicationControllerbefore_filterdefauthorize_mini_profilerifcurrent_user.nil?Rack::MiniProfiler.deauthorize_requestreturnelsifis_admin_userRack::MiniProfiler.authorize_requestreturnendRack::MiniProfiler.de

ruby-on-rails - ruby on rails - rack-cors 具有不同资源的多个来源

我正在使用rack-corsgem在我的Rails应用程序中实现CORS,但我不确定如何为不同的来源定义不同的资源。我需要这样的东西:config.middleware.insert_before0,Rack::Corsdoallowdoorigins'http://localhost:3000'resource'/api/*',headers::any,methods:[:get,:post,:options,:put,:delete]endallowdoorigins'http://localhost:6000'resource'*',headers::any,methods:[:

ruby-on-rails - Rack rack.input 变量被截断了吗?

我写了一段RackMiddleware来自动解压缩压缩的请求体。代码似乎工作正常,但是当我将它插入我的Rails应用程序时,我从ActionController::ParamsParser收到失败的“无效JSON”。作为调试机制,我将压缩内容和解压缩内容写入一个文件(以确保代码正常工作)并且我确实收到了我的原始JSON文档(在客户端将其压缩之前).我发布的数据是JSON数据,解压缩的内容被检测为来自http://jsonlint.com的有效JSON.知道我做错了什么吗?classCompressedRequestsdefinitialize(app)@app=appenddefcal

php - 如何检查服务器上是否启用了 mod_rewrite?

目前我正在使用带有lightspeed服务器的主机。托管说mod_rewrite已启用,但我无法让我的脚本在那里工作。每当我尝试访问该URL时,它都会返回404-notfound页面。我将相同的代码放在另一台运行Apache的服务器上。它在那里工作。所以我猜,这是.htaccess和mod_rewrite的问题。但是托管支持仍然坚持告诉我他们的mod_rewrite已打开,所以我想知道如何检查它是否实际启用。我尝试用phpinfo()进行检查,但是没有运气,我在那儿找不到mod_rewrite,是因为他们使用的是lightspeed?有什么方法可以检查吗?请帮帮我。谢谢。仅供引用:我的

php - 如何检查服务器上是否启用了 mod_rewrite?

目前我正在使用带有lightspeed服务器的主机。托管说mod_rewrite已启用,但我无法让我的脚本在那里工作。每当我尝试访问该URL时,它都会返回404-notfound页面。我将相同的代码放在另一台运行Apache的服务器上。它在那里工作。所以我猜,这是.htaccess和mod_rewrite的问题。但是托管支持仍然坚持告诉我他们的mod_rewrite已打开,所以我想知道如何检查它是否实际启用。我尝试用phpinfo()进行检查,但是没有运气,我在那儿找不到mod_rewrite,是因为他们使用的是lightspeed?有什么方法可以检查吗?请帮帮我。谢谢。仅供引用:我的