草庐IT

rack-cors

全部标签

ruby - 如何获取正在通过 rack-test 测试的 Sinatra 应用程序实例?

我想获取正在通过rack-test测试的应用程序实例,以便我可以模拟它的一些方法。我以为我可以简单地将应用程序实例保存在app方法中,但由于某些奇怪的原因不起作用。看起来rack-test只是使用实例来获取类,然后创建自己的实例。我做了一个测试来证明我的问题(它需要gem“sinatra”、“rack-test”和“rr”才能运行):require"sinatra"require"minitest/spec"require"minitest/autorun"require"rack/test"require"rr"describe"instantiatedapp"doincludeRa

ruby - 如何使用带有 HTTP 基本身份验证的 Passenger(在 Apache 上)部署多个 Rack/Sinatra 应用程序?

这里的问题是同一Sinatra(Rack)应用程序的多个实例部署在Passenger+Apache上的不同子URI上,使用HTTP基本身份验证来阻止不需要的访问:我在我的域中部署了4个Sinatra应用实例:example.com/private/fooexample.com/private/moo......使用Rack::Auth::Basic中间件通过HTTP基本身份验证保护对它们的访问。config.ru所有这些看起来像:#...users={'user'=>'password'}useRack::Auth::Basic,'realm'do|username,password|

ruby - Rack : cannot load such file 'sinatra'

我已经在irb中安装了sinatragem,如果我输入,require'sinatra'它返回true。但是当我这样做的时候rackup-dconfig.ru它告诉我nilException`LoadError'at/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36-cannotloadsuchfile--sinatra这是我的config.rurequire'./app'set:environment,ENV['RACK_ENV'].to_symset:app_file,'app.rb'disable:runrunSinat

ruby - JRuby/Rack 部署

我知道这很奇特,但我想使用JRuby部署一个RubyWeb应用程序(不是Rails,而是基于Rack,因此它可以很好地插入大多数Ruby服务器)。Google和friend们给了我一些成功案例,但大多与rails相关,如果不是,则没有提供部署的详细信息。如果重要的话,我使用的框架是Ramaze。如有任何帮助,我们将不胜感激。 最佳答案 在我看来,使用rackup脚本运行基于Rack的应用程序才是真正的Ruby方式。我也想对JRuby应用同样的方法。这就是我写jetty-rackuphttp://github.com/geekq/je

ruby - Rack URL 映射

我正在尝试编写两种Rack路由。Rack允许我们这样写这样的路由:app=Rack::URLMap.new('/test'=>SimpleAdapter.new,'/files'=>Rack::File.new('.'))就我而言,我想处理这些路线:“/”或“索引”"/*"为了匹配任何其他路由所以我尝试了这个:app=Rack::URLMap.new('/index'=>SimpleAdapter.new,'/'=>Rack::File.new('./public'))这很好用,但是...我不知道如何添加“/”路径(作为“/index”路径的替代)。根据我的测试,路径“/*”未被解释为

ruby - 直接使用 Rack TryStatic 服务文件?

我正在使用Middleman创建静态网站。中间人生成静态html文件到./build目录。这是我目前使用的配置:require'rubygems'require'middleman'require'rack/contrib/try_static'useRack::TryStatic,:root=>"build",:urls=>%w[/],:try=>['.html']runMiddleman::Application.server所以Middleman现在正在提供静态文件。如何让Rack::TryStatic直接处理请求?我试着让它变成这样runRack::TryStatic,:roo

ruby - Rack:单个 Rack 应用程序的多个 session cookie

如何在单个Rack应用程序中与多个sessioncookie(针对不同的路径或域)进行交互?例如,考虑以下使用3个位置的应用程序:www.my-app.net=>主应用www.my-app.net/app_a=>子应用Aapp_b.my_app.net/=>子应用B应该能够与3个sessioncookie交互:domain=www.my-app.net;路径=/;domain=www.my-app.net;路径=/app_a;domain=app_b.my-app.net/;路径=/;Rack::Session::Cookie似乎是一个不错的选择,但作为中间件,sessioncooki

ruby - rack 复制每条日志消息

当我使用rackup在本地机器上测试Sinatra应用程序时,每条日志消息都会出现两次。我怎样才能让它们只出现一次? 最佳答案 在您的sinatra应用程序中禁用:logging。rackup在开发环境中启动时添加了Rack::CommonLogger中间件(默认情况下这样做)。 关于ruby-rack复制每条日志消息,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3498345

ruby - 我在 Sinatra 应用程序中收到 "Heroku push rejected, no Rails or Rack app detected"错误

我在这里使用示例helloworld应用程序:http://devcenter.heroku.com/articles/rack并收到错误消息“Heroku推送被拒绝,未检测到Rails或Rack应用程序”帮忙? 最佳答案 您缺少一个config.ru文件。你想要做的是创建一个看起来像这样的文件:(它应该在你的repo的根目录中)#config.rurequire'./your/app/file'runMyApp...其中MyApp是您的Sinatra应用程序的类。确保您的应用文件不会在需要时尝试启动(MyApp.run!)您的应用

ruby-on-rails - Rack 1.3.2 的问题。您已经激活了 rack 1.3.2,但是您的 Gemfile 需要 rack 1.2.3

我在带有gemrack1.3.2和1.2.1的debian上安装了passenger3.0.9。使用带有passengerebundler的rails3.0应用程序我有这个错误:您已经激活了rack1.3.2,但是您的Gemfile需要rack1.2.3。考虑使用bundleexec。使用rails3.1就可以了。我无法使用Rails3.0启动应用程序,只能使用3.1。Passnnger加载第一个rack1.3.2,不要在bundler的gem上加载rack1.2.3 最佳答案 简答:你需要运行bundleupdaterack这将在