问题标签 [liberator]

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 投票
2 回答
2554 浏览

clojure - 如何使用 clojure-liberator 实现用户认证?

我不太了解https://github.com/clojure-liberator/liberator以及它提供给开发人员的决策点列表。如何使用/与/在库顶部实现基本的身份验证/身份验证服务?

0 投票
1 回答
972 浏览

clojure - 在 Liberator 中的 201 Created 响应中返回 Location 标头

我正在尝试使用 Liberator 实现一个集合资源,其中POST对集合 URL(例如)的请求/posts将创建一个新的博客文章项目。这工作正常。不工作的是使用包含指向新 URL 的标头(例如)POST的响应来响应请求。201 CreatedLocation/posts/1

我可以使用 a 进行响应201 Created,但是我无法包含Location标头响应,因此客户端将不知道新 URL 是什么,或者我可以设置:post-redirect? true,并返回303 See Other带有标头的响应Location

有没有办法从 Liberator POST 处理程序返回 a201 Created 标头?Location

0 投票
2 回答
1114 浏览

clojure - 使用 clojure liberator 发布请求

我正在使用 clojure liberator 将我的服务公开为 REST 服务,我有一个 POST 请求,下面是代码,我可以执行将服务调用为 POST 的过程,但我想将事件 ID 作为 POST 的响应发回, 谁能帮忙

0 投票
1 回答
137 浏览

clojure - Line-seq 忽略字符串中的 \n

我对 liberator body-as-string 函数和 line-seq 有疑问。

使用此 curl 命令,函数返回(h1,h2\nh3,h4\nh5,h6)而不是(h1,h2 h3,h4 h5,h6)

编辑 :

我添加 body-as-string 函数:

也许是编码问题?

谢谢 !

0 投票
1 回答
361 浏览

clojure - 为解放者的句柄输出html-未经授权

我正在使用带有 ring/compojure 的 liberator,并希望使用 liberatordefresource宏来处理授权。我可以轻松地handle-ok输出浏览器识别的 html,但handle-unauthorized会在pre标签中输出 html。

我怀疑我无法找到如何做到这一点意味着有充分的理由不这样做。我在网上看到的所有示例都显示handle-unauthorized返回文本,但我希望显示自定义页面。

这是我使用的代码(一个版本)。我正在使用打嗝:

我从浏览器得到的是文字

如果我更改authorized?为返回 true,那么它会正确输出 html。

我尝试过返回环形响应,但这些也会引发错误。我错过了什么?

0 投票
2 回答
223 浏览

clojure - 将 compojure noir 转换为 Liberator

我对clojure / compojure相当陌生,但真的很喜欢它。自然而然地,我从 Noir stack 开始了我的探索。编写了一个 POC 应用程序。然后,发现了解放者——这很有意义。只是想知道,是否有人曾经将 Noir 应用程序迁移到 Liberator。对涵盖此内容的文章/博客的任何引用将不胜感激。

0 投票
1 回答
4226 浏览

clojure - 用于响应式应用程序的 Clojure Web 框架

我最近继承了一个用 Clojure 编写的未完成的 Web 应用程序,基本上基于 compojure 和 hiccup。用 OO 风格而不是 FP 风格来建模某种 MVC 是一个糟糕的尝试,如此处所示。所以我打赌几乎从头开始重新启动项目,重用有用的部分。我考虑以下替代方案:

破坏性最小的选择是 Compojure+Enlive+jquery-pjax

使用像Pedestal这样的 clojure web 框架有这方面的经验吗?

最初的想法是实现一个服务于 JSON 的 RESTful API,因此对于更详细的解决方案,我将 Backbone+react.js 用于前端,将Liberator 用于后端,但它可能需要比传统的开发时间更长的时间服务器应用程序。

考虑到需要 Ajax 经验的想法和替代方案,非常感谢!

0 投票
2 回答
411 浏览

clojure - 如何使用 Liberator 处理一些但不是所有的 http 方法?

我将 liberator 与 compojure 一起使用,并希望将多个方法(但不是所有方法)发送到保存资源。我不想重复自己,而是想要一次定义多个处理程序的东西。

一个例子:

应该更接近:

0 投票
1 回答
93 浏览

clojure - 在编译期间运行和缓存的函数

我目前正在开发一个使用 ring 和 liberator 从数据库提供服务的项目。出于某种原因,编译器似乎正在调用我的一个函数并缓存结果,导致输出到 http 的值在服务器重新启动之前永远不会改变。这是我的代码的要点:https ://gist.github.com/sakekasi/9337146 。关于什么可能导致这样的事情的任何想法?

0 投票
1 回答
116 浏览

clojure - 键删除!当方法为 PUT 时调用

我正在尝试使用 liberator 和 monger 构建一个简单的 rest api:

我正在用advanced rest client它来看看它是否有效。如果方法是:getor :delete,它完全符合我的要求(它首先检查文档是否存在,然后执行适当的操作)。但是,如果方法是:put,它只是简单地吐出http 201 created,我认为请求成功,但是相应的文档被删除,没有更新。

如果我注释掉 :delete! 线,:put!是按预期工作的,所以我猜罪魁祸首是这:delete!条线,但我不知道为什么,因为因为我使用的是:put方法,所以我假设:删除!应该保持不变。知道为什么吗?