问题标签 [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.

0 投票
1 回答
388 浏览

html - 使用小胡子、enlive 和 Clojure 将图像文件渲染到 html 页面

在我的带有 mustache(用于连接 Ring 处理程序和中间件的微框架)、enlive(作为 html 模板引擎)和 clojure 的应用程序中,我无法查看我的 html 文件中的图像。如何将这些文件呈现为 html?

0 投票
2 回答
966 浏览

java - 是否可以从 ring/compojure 调用 java servlet?

我必须从 Clojure Web 应用程序调用用 Java 编写的 servlet,但我不明白该怎么做。

用 Java 开发 webapp,我必须在 web.xml 中描述所有映射。我明白了,在 Compojure 中,我必须描述路线。那么,我可以将 Java servlet 绑定到这样一个路由吗?

对不起,如果我的问题很愚蠢,但我搜索了很多并没有找到答案;我刚刚开始为网络开发。

0 投票
1 回答
1497 浏览

clojure - 按正确顺序放置 Clojure Ring 中间件

我的 Clojure 服务器中间件有问题。我的应用程序有以下要求:

  • 一些路线应该可以毫无问题地访问。其他人需要基本身份验证,所以我想要一个身份验证功能,它位于所有处理程序函数的前面,并确保请求得到验证。为此,我一直在使用 ring-basic-authentication 处理程序,尤其是有关如何分离公共和私有路由的说明。

  • 但是,我还希望在Authorization:标头中发送的参数在路由控制器中可用。为此,我一直在使用 Compojure 的site函数 in compojure.handler,它将变量放入:params请求的字典中(参见例如Missing form parameters in Compojure POST request

但是我似乎无法同时获得 401 授权参数。如果我试试这个:

授权变量可以在authenticated?函数中访问,但不能在路由中访问。

显然,这不是一个非常普遍的例子,但我觉得我真的在转动我的轮子,只是随机更改中间件顺序并希望一切正常。对于我的具体示例以及了解有关如何包装中间件以使事情正确执行的更多信息,我将不胜感激。

谢谢,凯文

0 投票
2 回答
389 浏览

clojure - clojure redis set 是设置值的字符串长度而不是值

我正在使用以下代码在 redis 中设置键

但是当我通过运行 redis-cli 检查那里设置的值时,我看到它返回的是 str-value 的长度而不是 str-value

我将其简化为:

当我使用“redis-cli> get foo”时,它会响应“3”

我正在查看http://devender.wordpress.com/2010/06/13/redis-and-clojure/上的示例,甚至复制和粘贴他的示例都失败了。我尝试:

我得到

我已经黔驴技穷了。如果有帮助,这里是我的 ns 表格:

0 投票
2 回答
15316 浏览

clojure - 使用 ring/compojure 提供静态文件 - 来自战争

使用 ring(和 lein-ring 工具)——我可以在开发中运行时根据文档从“资源”等中提供静态文件——但是——当我通过 Lien uberwar 打包东西时,我不知道如何制作它在容器中运行时提供这些文件。我在 wrap-resource 或设置 :resource-path 上看到有冲突的文档,但似乎没有一个有效。

0 投票
1 回答
976 浏览

tomcat - Compojure:访问文件系统

这是我的 project.clj 文件:

这是我的路由:

我有一些网络静态文件/resources/public,我可以访问它们。在代码中,我还需要访问文件系统上位于/resources/data和上的一些文件/resources/tpl。使用lein ringserver or lein run,以下调用工作正常

但是当使用 Tomcat 打包应用程序lein uberwar并在 Tomcat 下部署时,它失败了,我得到了 FileNotFoundException。这可能是因为 lein 的当前工作目录是项目根目录,而在 Tomcat 下它是 Tomcat 的 bin 目录。

例如,我已经/resources/data/data.dat在战争中打包了,因为/data/data.dat“resources/data/data.dat”在 Tomcat 下不起作用,或者“data/data.dat”在开发中不起作用。

顺便说一句,在 Compojure 中管理这个的正确方法是什么?谢谢。

0 投票
2 回答
188 浏览

session - 沙洲会话如何工作?

我应该将沙条用于 Clojure Web 应用程序。我想知道沙条如何在服务器端维护会话?是否使用jsessionidcookie 来识别用户请求?还是沙条只是将会话对象发送回客户端,从请求中重新读取它,操纵会话并将其重新发送回来?

0 投票
1 回答
1062 浏览

web-services - 如何在 Ring 处理程序中获取 HttpServletRequest?

有没有办法在 Ring 处理程序中获取 HttpServletRequest 对象?我正在使用 Noir 开发一个网络应用程序。处理 URI 时,我需要获取 HttpServletRequest obj。所以我使用 (noir.request.ring-request) 函数来取回包含 :servlet-request 键的环请求映射,但值为 nil。这是正确的方法还是我错过了什么?

以下是代码:

结果:

0 投票
1 回答
107 浏览

clojure - 这种路线叫什么名字?

我只是在阅读Compojure 教程并看到了这个路由示例:

我想知道路径的一部分是参数而不是实际的 HTTP 参数(GET 或 POST)的那种路由的正确官方名称是什么

我知道它的作用。我想知道它叫什么名字。我能想到的最好的方法是友好的 URL,尽管这很模糊。

0 投票
1 回答
1275 浏览

clojure - Clojure/Ring: Using the ring jetty adapter, large requests give me a 413: FULL HEAD error.

Using Ring's Jetty adapter, if my request is too large I get a 413: FULL HEAD error. I tracked it down to a property called headerbuffersize, but when I try to set it in the run-jetty call, I still get the 413's. Is there a better way to control jetty config from Ring?

What is the right way to do this?

Thanks!