问题标签 [rack-middleware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何在中间件 rails 5 中访问 params 变量
我在使用 rails 5 中的中间件时遇到问题,我试图POST
通过在中间件中使用来操纵在 http中发送Rack::Request
的参数,但是在调用函数之前,发送的参数不会被弹出@app.call(env)
。
使用 byebug 访问变量env
,request
结果如下:
正如您在 中看到的CONTENT_LENGTH
,该值144
消失了,但是当您执行命令request.params
时它是空的。
然后,如果我在执行该行时继续使用 byebug,@app.call(env)
则处理参数。
这是中间件代码:
ruby-on-rails - 如何使用导轨上的机架中间件从 json 对象构建帖子参数
我收到一个用 jwt 编码的 json 对象,在中间件中我想在解码消息后构建 post 参数
在控制台上
{"名称"=>"xyz", "描述"=>"xyz"}
ActionDispatch::Http::Parameters::ParseError (822: '{"name"=>"xyz", "description"=>"xyz"}' 处的意外标记):
我如何构建用于传递到 Rails 的帖子参数
ruby-on-rails - 如何在 Rails 中动态更改会话 cookie 名称?
我有一个 Ruby on Rails 4.2 多租户应用程序,我希望每个租户使用它自己的会话 cookie 和 cookie 选项。我尝试了不同的方法,但我无法正确处理每个细节。
要添加更多上下文,从请求中的主机 url 中选择租户,在中间件中,并将其设置为我可以访问堆栈的线程变量。让我们将该设置对象称为Settings.current_account
.
选项 1:中间件:
然后在初始化程序中
结果:这将允许我设置expire_after
保留的 cookie 名称,但不能设置 cookie 名称bla
。
选项 2:自定义 cookie 存储
然后在初始化程序中:
但是看起来AccountCookieStore
实例是在调用到达中间件之前加载的Settings.current_account
,因此无法从请求中获取任何值并用于创建 cookie。
选项 3:ApplicationController 中的 after_filter
这只是行不通。
我错过了什么?关于如何完成这项工作的任何想法?
ruby-on-rails - Rails ExceptionNotifier -> 基于标题的通知器
是否可以根据某些变量或异常标题更改 ExceptionNotifier exception_recipients?
我想将一些主要通知发送到一封电子邮件,并将其他通过 ExceptionNotifier.notify_exception 创建的电子邮件发送到另一封电子邮件。
ruby - 如何在机架应用程序的集成测试中启用中间件?
在为 Rack 应用程序编写集成测试时,我想使用在运行时环境中通过经典config.ru
文件启用的所有中间件来测试应用程序。
使用rack-app,我可以实例化 Rack 应用程序:
使用裸照rack
,它看起来是一样的:
但是没有启用的中间件,因为应用程序没有通过命令启用它们的config.ru
位置进行实例化。use
如何在测试中启用中间件,以便请求在示例中通过它们运行?