如何使用Ruby和Puma检测其他请求生成的请求?

如何使用Ruby和Puma检测其他请求生成的请求?,第1张

概述让我试着解释一下我需要什么. 当我在我的HTML页面中包含像Bootstrap这样的库并加载此页面时,也会加载库主文件.大多数情况下,库文件需要其他文件.因为我使用Bootstrap作为例子,让我们考虑glyphicons-halflings-regular.svg,glyphicons-halflings-regular.ttf,glyphicons-halflings-regular.woff 让我试着解释一下我需要什么.

当我在我的HTML页面中包含像bootstrap这样的库并加载此页面时,也会加载库主文件.大多数情况下,库文件需要其他文件.因为我使用bootstrap作为例子,让我们考虑glyphicons-halflings-regular.svg,glyphicons-halflings-regular.ttf,glyphicons-halflings-regular.woff和glyphicons-halflings-regular.woff2,它们都是bootstrap的一部分.

我正在编写一个Rack中间件来处理来自我的应用程序的请求.此中间件的任务之一是根据某些约定修改请求.例如,在我的应用程序中,bootstrap将位于此路径中

ENV['HOME']/my_app/web/librarIEs/bootstrap/

然后它的主要CSS文件

ENV['HOME']/my_app/web/librarIEs/bootstrap/CSS/bootstrap.CSS

并且,在加载时,它将为我上面提到的所有这些文件生成新请求.

我需要的是确定某个文件,比如glyphicons-halflings-regular.svg,是另一个文件所需要的,所以我可以使用我的Rack中间件来相应地改变它的位置.喜欢:

Requested file:    `glyphicons-halflings-regular.svg`Requested-by:    http://my_app_domain.com/web/librarIEs/bootstrap/CSS/bootstrap.CSSRequest address:    http://my_domain_app.com/web/librarIEs/bootstrap/CSS/../Fonts/glyphicons-halflings-regular.svg

我想为每个新请求启动一个线程.然后我只需要考虑主文件的地址作为基地址,并将其添加到该文件生成的每个子请求中.

我很想听听你对此的看法.有没有更好的方法来做同样的建议?

编辑:( spickermann的问题)

不,这不是重点.也许我不清楚,然后我会试着换句话说.

考虑以下结构:

ENV['HOME']/my_app/web/librarIEs/library1/                                |        |                                |        |_ a_CSS_file.CSS                                |        |_ a_jpeg_file.jpg                                |                                /library2/                                         |                                         |_ another_CSS_file.CSS                                         |_ a_jpeg_file.jpg

假设我的中间件收到一个名为a_jpeg_file.jpg的文件的请求.我们有两个具有相同名称的文件,一个在library1中,另一个在library2中.

我决定使用哪个文件的唯一方法是,我是否知道a_CSS_file.CSS或another_CSS_file.CSS是否需要a_jpeg_file.jpg.

在第一种情况下,我将库1的路径添加到文件中,并提供ENV [‘HOME’] / my_app / web / librarIEs / library1 /.在另一种情况下,我将路径添加到library2并提供ENV [‘HOME’] / my_app / web / librarIEs / library2 /.

在这两种情况下,我都需要知道哪个文件生成了对a_jpeg_file.jpg的请求.

换句话说,我需要知道哪个库上下文需要某个文件.

解决方法 也许你可以参数化你的资源,比如my-image.jpg?dir =’dir1’并解析你的中间件上的参数. Rails也采用类似的方法来缓存资产.您还可以使用一些加密和解密参数中的信息的加密函数,如image.jpt?info = HughYF65fFj7t …然后您解密中间件中的信息并使用您发送的信息. 总结

以上是内存溢出为你收集整理的如何使用Ruby和Puma检测其他请求生成的请求?全部内容,希望文章能够帮你解决如何使用Ruby和Puma检测其他请求生成的请求?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1292444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存