问题标签 [ring]
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.
clojure - 如何使用单个 lein 任务启动多个环子项目?
我有一个包含三个子项目的项目(使用lein-sub):
每个内部都有一个环处理程序,如下所示:
现在我进入每个并输入:
这显然会让人厌烦。我也试过
看起来它应该可以工作,但它只启动第一个并且进程加入它!可能有办法解决这个问题?这似乎是最简单的方法。
取而代之的是,我现在正在编写一个 leiningen 任务来为我执行此操作,但遇到了一些问题。我可以使用 leiningen.core.project/read 轻松获取每个项目文件,但是从这里开始,我如何以尊重各自 project.clj 文件中的所有依赖项和其他设置的方式启动每个环服务器?
有任何想法吗?
ajax - 如何阻止外部http请求?(保护 AJAX 调用)
我想使用 post 来更新数据库并且不希望人们手动执行它,即它应该只能通过客户端中的 AJAX 来实现。在这种情况下是否有一些众所周知的加密技巧可以使用?
假设我正在发出一个 GET 请求,将一个新用户插入到我的数据库中site.com/adduser/<userid>
。有人可以通过发出虚假请求来过度填充我的数据库。
clojure - 构建 uberwar 时出现 Lein 循环依赖错误的原因是什么?
构建 ring server-headless 可以工作——lein ring server-headless
但是当我尝试构建 war 或 uberwar 时,我收到以下错误,并且无法弄清楚为什么会发生这种情况。
我的 project.clj 文件是:
如果我删除了,:ring {:handler routes/start}
那么我会在其他地方得到一个 NPE。
我不知道我是否在我的 project.clj 中遗漏了某些内容,或者是否特定版本的 lein 在这个用例中被破坏了。有人可以为我澄清一下吗?
clojure - 使用不同的中间件组合路由
我目前正在使用 Compojure(以及 Ring 和相关中间件)在 Clojure 中编写 API。
我正在尝试根据路由应用不同的身份验证代码。考虑以下代码:
这不能按预期工作,因为wrap-basic-authentication
确实包装了路由,因此无论包装的路由如何,它都会被尝试。具体来说,如果请求需要被路由到admin-routes
,user-auth?
仍然会被尝试(并且失败)。
我求助于在公共基本路径context
下根植一些路由,但这是一个相当大的限制(下面的代码可能不起作用,它只是为了说明这个想法):
我想知道我是否遗漏了某些东西,或者是否有任何方法可以在不受限制且不使用通用基本路径的情况下实现我想要defroutes
的(理想情况下,不会有)。
clojure - 运行多个黑色服务器时的加载视图
我正在尝试使用 noir 来启动三台服务器(每台服务器处理应用程序的不同方面)。我正在尝试这样做,以便我可以在一个应用程序中运行所有三台服务器,同时开发并轻松地将项目解耦为三个不同的应用程序进行部署。
使用noir.server/start
和noir.server/stop
运行我需要的码头服务器是没有问题的。
我想弄清楚的是某种方式来调用load-views
(或类似的东西),为每个服务器设置不同的视图,以便 URI 冲突由正确的defpage
.
clojure - 使用相对链接和非根上下文路径将 Clojure webapps 部署到 Jetty 时链接断开
我一直在尝试用 Clojure 编写 webapps,直到现在还很容易。我按照 Chas Emerick 的出色截屏视频开始 clojure,并快速启动并运行了一个 url 缩短器。接下来我希望能够部署它,这就是麻烦开始的时候。
当我在开发中运行它或将它作为根 webapp 部署到 Jetty 时,一切都很好,但是当我使用上下文路径部署它时,它就不行了。或者,更确切地说,它几乎可以工作。我所有的 Compojure 路由仍然有效,但FORM
HTML 文件中的操作链接已损坏并给我 404。
这是 Compojure 路由设置:
这是主页模板的 HTML:
问题是action="shorten"
网址。当使用上下文路径部署到 Jetty 时/example
一切正常,直到我触发表单提交。然后 Jetty 抱怨它找不到localhost:8080/shorten
哪个意味着(我认为)它没有被视为相对路径,而是绝对路径。
所以,我的问题是:如何解决这个问题?我想我可以只在操作链接中指定完整路径,但这会很不灵活,并且会使开发中的 servlet 更难运行。有没有办法配置我的出路?或者一些神奇的 URL 前缀(比如~/
在 Razor 中)会做正确的事情?
clojure - Clojure:Webbit + Ring
语境
我刚刚得到http://blog.jayfields.com/2011/02/clojure-web-socket-introduction.html工作。
我也有 ring + compojure 工作。
问题:
我想使用 ring ... 以某种方式 ... 与 webbit 这可能吗?
谢谢!
clojure - 有什么办法可以从环中查看原始标题?
有没有办法将环的参数哈希映射转换为浏览器和服务器用于通信的原始响应和请求标头?
所以基本上,我希望能够使用 ring 生成和解析原始文本标题,而不是 ring 提供的哈希映射结构。
要求:
回复:
clojure - 部署后在 ring/compjure 应用程序启动时执行功能
可能重复:
如何在环项目中运行任意启动功能?
我正在使用带有 compojure 的 clojure ring 中间件来构建一个简单的 api。我经常将应用程序部署为战争。
这很好用,但我正在寻找在应用程序启动时运行一次性初始化代码的方法。当我运行“lein ring server”时,它运行得很好——但是,当部署为战争时,它似乎只在第一个请求到达服务器时运行(即懒惰)。有没有办法让它不懒惰(不使用 AOT) - 或者有没有更好的方法来挂钩环中间件生命周期?