问题标签 [rack]
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 / Rack 应用程序告诉 Web 服务器断开连接
有许多安全原因导致人们想要在没有响应的情况下断开 HTTP 连接(例如,OWASP 的 SSL 最佳实践)。当这些可以在服务器级别检测到时,这没什么大不了的。但是,如果您只能在应用程序级别检测到这种情况怎么办?
Rails,或者更普遍的 Rack,是否有任何标准的方式告诉服务器在没有响应的情况下断开连接?如果没有,是否有一些标准的标头可以在常见的 Web 服务器中实现(我在想 Nginx 或 Apache)?即使没有标准标头,是否有合理的方法来配置该行为?这是傻子的差事吗?
java - android/rails 分段上传问题
我的问题是我尝试将图像和一些文本值上传到 Rails 服务器,文本值最终作为文件,仅包含参数值。
帖子在服务器上的外观
部分安卓代码
ruby - Ruby Rack:启动和拆卸操作(Tokyo Cabinet 连接)
我在 Rack 上的 Sinatra 中构建了一个非常简单的 REST 服务。它由 3 个 Tokyo Cabinet/Table 数据存储提供支持,这些数据存储具有需要打开和关闭的连接。我有两个直接用 Ruby 编写的模型类,目前它们只是简单地连接、获取或放置他们需要的东西,然后断开连接。显然,这不会长期有效。
我也有一些 Rack 中间件,比如 Warden,它们依赖于这些模型类。
管理打开和关闭连接的最佳方法是什么?据我所知,Rack 不提供启动/关闭挂钩。我曾考虑在 env 中插入一个提供对 TC/TT 对象的引用的中间件,但随后我必须通过 Sinatra 将其通过管道传递给模型,这似乎也没有效率;这只会是与 TC 的按请求连接。我想每个服务器实例生命周期将是一个更合适的生命周期。
谢谢!
ruby-on-rails - Rails Metal (& Rack) 是实现高流量 Web 服务 api 的好方法吗?
我正在开发一个非常典型的 Web 应用程序。用户体验的主要组成部分是网站所有者将在其首页上安装的小部件。每次他们的首页加载时,小部件都会与我们的服务器对话并显示一些返回的数据。
所以这个 Web 应用程序有两个组件:
- 网站所有者用来配置其小部件的前端 UI
- 响应小部件的 web api 调用的后端组件
以前我们在 PHP 中运行所有这些。现在我们正在试验 Rails,这对于#1(前端 UI)来说非常棒。问题是如何有效地执行 #2,即小部件信息的后端服务。显然,这比前端的负载要高得多,因为每次首页加载到我们客户的网站之一时都会调用它。
我可以看到两种明显的方法:
A. Parallel Stack : 建立一个并行堆栈,它使用 Rails 以外的东西(例如我们旧的基于 PHP 的方法),但访问与前端相同的数据库
B. Rails Metal:使用 Rails Metal/Rack 绕过 Rails 路由机制,但将 api 调用响应程序保留在 Rails 应用程序中
我的主要问题:
- Rails/Metal 是解决此类问题的合理方法吗?
但是也...
- 加载 Rails 环境的开销会不会还是太重?
- 有没有办法通过 Rails 更接近金属,绕过大部分环境?
- Rails/Metal 的性能是否会接近直接 PHP 的类似任务的性能(只是在这里寻找球场)?
和...
- 有没有比 A 和 B 都好得多的“C”选项?也就是说,在将 C 代码编译为二进制并作为 nginx 或 apache 模块安装之前的一些东西?
提前感谢您的任何见解。
ruby - 使用 body_stream 和参数发布请求
我正在构建某种代理。
当我在机架应用程序中调用某个 url 时,我将该请求转发到另一个 url。
我转发的请求是一个带有文件和一些参数的 POST。
我想添加更多参数。
但是文件可能很大。所以我用Net::HTTP#body_stream
而不是发送它Net::HTTP#body
。
我将我的请求作为一个Rack::Request
对象,并用它创建我的 Net::HTTP 对象。
我尝试了几种添加代理参数的方法。但是在 Net::HTTP 中似乎没有任何东西允许将参数添加到 body_stream 请求中,只能添加到正文中。
有没有更简单的方法来代理这样的机架请求?或者一种将我的参数添加到我的请求的干净方法?
sinatra - 如何使 Rack::Reloader 重新加载对 haml 文件的更改?
我的 jruby rack sinatra compass haml 应用程序正确地重新加载了对 *.rb 文件的更改,但没有检测到对 *.haml 文件的更改。
这个指南针是在做一些缓存还是 Rack::Reloader 的限制?有关如何修复的任何指示?
ruby-on-rails - 让 Rails 应用程序在 IronRuby 机架下运行
还有人在玩ironruby吗?
我已经成功地让 IronRuby.Rails.Example 项目在我的本地机器上运行在 IIS 5.1 下。我现在正试图让我自己的演示 Rails 站点以相同的方式运行。
我的 web.config 与示例项目略有不同。我试图只使用随 IronRuby 1.0 分发的内容以及我使用 gems 安装的内容。
我收到以下错误,这并没有给我太多的帮助:
D:/demo/config/boot.rb:66:in `exit': 退出 (SystemExit)
在尝试了许多不同的事情之后,我认为在寻找宝石时遇到了问题。我附上了我的网络配置和 ironrack.log。有没有人指出我做错了什么?
谢谢!
ruby-on-rails - 加载 IronRuby.Rack 程序集的问题
我正在尝试让 IronRuby on Rails 与 iis7 服务器 2k8 一起运行,并且只能在它无法加载程序集“IronRuby.Rack”(屏幕截图:http ://grab.by/3VZm )的情况下得到这个工作? 你能给我什么建议吗?
谢谢,-CJ
session - 如何使用 curl 将 cookie 传递给 Sinatra 应用程序?
我正在使用本教程http://rubylearning.com/blog/2009/09/30/cookie-based-sessions-in-sinatra/中标题为“A Slightly Bigger Example”的示例中的代码来弄清楚如何将 cookie 发送到 Sinatra 应用程序,但我不知道如何正确设置值
当我在应用程序中将名称设置为“brandon”时,它会创建一个 cookie,其值BAh7BiIJdXNlciIMYnJhbmRvbg%3D%3D%0A
是值的 url 编码 ( http://ostermiller.org/calc/encode.html )BAh7BiIJdXNlciIMYnJhbmRvbg==
使用该值,我可以正确地将 cookie 发送到应用程序
我很确定该值是会话的 ruby 哈希的 base64 编码,因为文档(http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html)说
session 是一个 Ruby Hash,存储为 base64 编码的编组数据集:key(默认值:rack.session)。
我认为这意味着我所要做的就是 base64 编码{"user"=>"brandon"}
并在 curl 命令中使用它。不幸的是,这创造了不同于BAh7BiIJdXNlciIMYnJhbmRvbg==
. 接下来,我尝试获取 base64 编码值并在线上在各种 base64 解码器上对其进行解码,但这会导致出现奇怪的字符(框符号等),因此我不知道如何重新创建该值以对其进行编码。
所以我的问题是你知道我需要什么字符/格式来获得正确的 base64 编码和/或你知道另一种使用 curl 传递值的方法,以便它将注册为 Sinatra 应用程序的正确 cookie?
ruby - Thin、Sinatra、拦截静态文件请求做CAS认证
我正在使用 casrack-the-authenticator gem 进行 CAS 身份验证。我的服务器在 Sinatra 之上运行 Thin。我已经让 CAS 身份验证位工作了,但我不确定如何告诉 Rack 拦截“/index.html”请求以确认 CAS 登录,如果不允许用户查看页面,则返回 HTTP 403 响应而不是提供实际页面。这个事情谁有经验?谢谢。
我的应用程序:
我的机架文件:
最初尝试让 Rack 了解其文件服务中的身份验证(欢迎发表评论和想法):