草庐IT

rack-middleware

全部标签

python - Django - 配置不当 : Module "django.contrib.auth.middleware"

我正在运行一个virtualenv来尝试学习Django,但无论出于何种原因,在安装Django之后,当我尝试访问默认的Django起始页面时,我在浏览器中收到以下错误:Aservererroroccurred.Pleasecontacttheadministrator.在我运行服务器的终端窗口中显示以下错误:ImproperlyConfigured:Module"django.contrib.auth.middleware"doesnotdefinea"SessionAuthenticationMiddleware"attribute/class如果有人对我在virtualenv中出

ruby - 您如何设置 Rack::URLMap 以在 Sinatra 中使用 RSpec?

我对Sinatra比较陌生,我想找出一种方法将RSpec与我的Sinatra设置集成。配置.rurequire'sinatra'require'mongoid'require'uri'require'./lib/twilio_wrapper'Mongoid.load!("./config/mongoid.yml")Dir["./controllers/*.rb"].each{|file|requirefile}runRack::URLMap.new('/'=>HomeController.new,'/users'=>UsersController.new(TwilioWrapper.n

ruby-on-rails - 1 个 CPU 上的 Ruby Rack 应用程序——我应该运行多少个进程?

我对Ruby网络应用程序(来自java)还很陌生。我的VPS有1个CPU和2GB内存,想玩一些rails/sinatra的东西。我正在使用Ruby2.1.0MRICPU数量如何映射到我需要运行的网络服务器进程数量?我使用puma作为Web服务器并设置了默认线程(0,16)。但我注意到还有一个“workers”选项可以fork另一个进程以更好地处理多个请求。我是否理解正确,对于这样的设置(1个CPU),运行2个Web服务器进程没有意义?唯一合理的设置是1个带线程的进程? 最佳答案 哦,这是一个很大的问题!进程和线程的数量不一定与CPU

ruby - 当 Content-Type 为 application/json 时自动使用 JSON 编码 Rack 输出

我有一个模块化的Sinatra应用程序,我想在内容类型指示时将输出编码为JSON。目前我在我的route手动这样做:get'someroute'do#content-typeisactuallysetwithabeforefilter#includedonlyforclaritycontent_type'application/json',:charset=>'utf-8'#..#{:success=>true}.to_jsonend我希望它看起来像这样:get'someroute'docontent_type'application/json',:charset=>'utf-8'#.

ruby - 使用 Rack 中间件在每个请求上添加 api_key

我使用Devisetoken_authentication服务和ActiveResource客户端。我希望在每个请求中自动设置:auth_token参数!我试过了,但是没用...classAuthAppdefinitialize(app)@app=appenddefcall(env)status,headers,response=@app.call(env)request=Rack::Request.new(env)request.params[:auth_token]='jCxKPj8wJJdOnQJB8ERy'[status,headers,response]endend有什么想法

ruby - Gitlab Rack 攻击安装

我正在安装gitlab并按照Gitlab安装指南的所有说明进行操作。一切正常,但随后在步骤“初始化数据库并激活高级功能”它失败了!https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md我收到此错误消息。rakeaborted!uninitializedconstantRack::Attack/home/git/gitlab/config/application.rb:82:in`'/home/git/gitlab/config/application.rb:13:in`'/home/git

ruby - 基于 Rack 的 Web 服务器是否代表 FastCGI 协议(protocol)?

我读到CGI/FastCGI是一种用于将外部应用程序连接到Web服务器的协议(protocol)。因此Web服务器(如Apache或NginX)通过套接字将环境信息和页面请求本身发送到FastCGI进程,FastCGI通过同一连接将响应返回到Web服务器,Web服务器随后将该响应传递给最终用户。现在我对它和几乎所有Ruby网络框架和库都使用的Rack感到困惑。它通过包装HTTP请求和响应,提供用于在Ruby中开发Web应用程序的接口(interface)。那么,Unicorn、Thin、Passenger或Puma等基于Rack的Web服务器是否代表了相同的FastCGI方法?我可以说

ruby - 如何使用卡住的字符串文字启动 Rack 应用程序?

我正在尝试在ruby​​2.3下运行我们的应用程序,使用新的ruby​​功能在全局打开自动卡住字符串。(Ruby2.3)这通常是通过在启动时将参数传递给ruby​​脚本来完成的,如下所示:ruby--enable-frozen-string-literalruby_code_file.rb不幸的是,我们的应用程序是使用rackup启动的,我尝试了以下命令:rackup--enable-frozen-string-literal但这似乎不起作用。我如何将该参数传递给Rack? 最佳答案 很遗憾,您不能将ruby的参数传递给rackup

ruby-on-rails - rails 从 Rack 渲染 html

我正在使用Rack攻击。如果有人超出了我使用以下代码的限制:Rack::Attack.throttled_response=lambdado|env|[429,{},[ActionView::Base.new.render(file:'public/429.html')]]end当sby超过原始响应为respond_to:html的POST请求的限制时,429.html的呈现工作正常。当响应respond_to:js的POST请求超出限制时,屏幕上没有任何反应,但如果我查看日志,一切似乎都很好:Renderedpublic/429.html(1.4ms)在js响应的情况下如何显示429

ruby - 使用 Rack::Session::Datamapper

麦克里斯特根的rack_datamappergem说它“可以被包装以在特定环境中使用,即Rack::Session::Datamapper”。不幸的是,我对Ruby的了解还不足以完成这项任务——Ruby中的模块/类仍然在我的脑海中(来自PHP)。任何人都可以提供有关使用rack_datamapper来实现Rack::Session::Datamapper的帮助吗?无论如何你可能不想这样做。下面的答案很好,但仔细考虑后,我意识到我不应该这样做。相反,我将user_id、ip和名字(为了方便起见)放在cookie中并对其进行保护。 最佳答案