问题标签 [pedestal]

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 回答
41 浏览

clojure - 将 Lacinia 导入 Clojure 项目时出错

引导 REPL 返回此错误

当我尝试在其中运行(require :reload 'entrypoint)时。我的命名空间入口点没有代码,只有:require导入外部代码的功能:

我的build.boot样子是这样的:

我究竟做错了什么?丁:

0 投票
1 回答
88 浏览

clojure - 带有基座 clojure 服务器的通用 [/*proxy :any] 和特定 [/service/x :post..] 路由

我是一个有基座(pedestal.io)的新手,我正在尝试代理我从浏览器获得的所有请求,除了一些需要额外拦截器的特定请求。这些是我的路线:

但是我从来没有调用虚拟拦截器。这些应该如何结合?

0 投票
1 回答
71 浏览

clojure - 启动方法后基座组件不更新自身

我的基座组件的代码如下。当 Stuart Sierra 的库启动我的系统映射时,Pedestal defrecord 中实现的方法 start 被调用,它返回与 :pedestal-server 关联的组件的更新版本。生命周期管理器不应该传播更新的组件以便它可以被 stop 方法使用吗?每当我尝试通过在 REPL 中调用 (component/stop (system)) 来停止服务器时,什么都不会发生,因为 :pedestal-server 键设置为 nil。

0 投票
1 回答
500 浏览

clojure - Clojure pedestal.io 代码在 IntelliJ 中未解析

我有一个从 pedestal.io 教程中获取的 Clojure 和 Pedestal 的小型应用程序。它在终端中运行良好。当我在 IntelliJ 中打开它时,会出现一些“无法解决”的提示。一些代码部分正在变成米色背景。

在此处输入图像描述

我安装了草书插件。代码由 执行boot repl。有什么方法可以通过 IntelliJ 解析完整代码?如果是这样,哪些设置?

更新

“索引 Maven 存储库”字段

在此处输入图像描述

0 投票
1 回答
255 浏览

clojure - 从 src 目录提供图像文件 - 404 错误

我在ClojurePedestalBoot Cljs中创建了一个站点。我正在使用的教程是这个http://pedestal.io/guides/hello-world-content-types

然后我试图向网站添加一个教程中没有显示的图像。我把图像a455.jpg放到src文件夹中。我注意到在一个文件中,build.boot一个:resources-paths键被设置为src文件夹。

--

因此src,此应用程序中的文件夹类似于public普通 Web 应用程序中的文件夹。不是吗?

我测试了它的 web 浏览器、curl 和 Clojureresponse-for功能。该网站工作,但没有图像。这是curl结果:

--

在这里你是应用程序

如何使图像在网站上显示?

0 投票
0 回答
63 浏览

clojure - 在 pedestal.io 中路由某些类型的图像

我正在为以下内容创建路线:

/

/*.jpg

/*.png

pedestal.io中。

我返回的错误代码boot.user=> clojure.lang.ExceptionInfo: route conflict是这个

知道如何改进吗?

0 投票
1 回答
383 浏览

server - 如何使用 Lacinia Pedestal 设置 COR?

我正在使用 Clojure 设置一个 lacinia-pedestal graphql 服务器,并尝试使用 apollo 使用客户端 javascript 代码访问它。但是,我无法访问本地主机上的 /graphql 端点,因为我试图从 COR 不允许的本地主机源 (localhost:3000) 访问它。如何使用 lacinia-pedestal 设置 COR?

这是服务器端代码(使用 lacinia 教程https://lacinia.readthedocs.io/en/latest/tutorial/component.html设置)

客户端代码非常简单(使用 Apollo):

0 投票
0 回答
257 浏览

java - 集成集成与基座的宏扩展错误

我正在尝试将 clojure 库集成与基座一起使用,但我在编译时遇到了一个奇怪的错误

redblackrose.core 文件是

我知道这个例子看起来几乎没用(只有一个集成的“组件”),但我只是为一个更复杂的项目(也需要数据库访问)设置框架。

0 投票
1 回答
214 浏览

unit-testing - 在 Clojure 中,如何对异步基座拦截器进行单元测试?

我有一个要测试的异步基座拦截器:

我首先尝试了一个幼稚的测试:

这不起作用,因为当它具有异步拦截器时chain/execute返回。nil我尝试了另一种解决方案,在测试后的拦截器中添加测试:

但是这不起作用,因为测试在执行测试之前终止,因此成功......即使测试在一秒钟后失败:

在实践中,我的测试套件(使用 Kaocha)失败了,因为deftest其中没有断言。

鉴于chain/execute返回nil而不是 chan,我无法将其包装在 aas/<!!中以阻塞,直到它终止。

在这一点上,我被困住了。我能做些什么来测试这种拦截器吗?

0 投票
2 回答
328 浏览

proxy - 如何将部分请求转发到 Clojure 中的另一台服务器?

概括

我正在开发一个类似于 Clojure 中的代理的服务器,以基座服务 + lein 为基础:

  • 接收请求
  • 将请求转发到外部服务器
  • 发出多个服务器到服务器的请求以提供更大的 json 并作为单个请求返回给客户端

它很容易编码,并且有很多关于如何提供路由的资源,
但是我找不到任何简单的方法,如何将 Clojure 基座
服务与转发路由一起使用

例子

  • 客户端调用 [GET] /billing => proxy-clojure-server
  • proxy-clojure-server使用客户端凭据验证请求 => auth-server
  • proxy-clojure-server用计费数据填充 json => billing-server
  • proxy-clojure-server用客户数据填充 json => customer-server
  • proxy-clojure-server返回 200 并解析完整的 JSON

设置

  • 我有一个结构类似的项目: lein new pedestal-service my-app

我一直在尝试的

例子:

我只是无法将基座的路由系统与此代理解决方案混合,路由不同,似乎,也许我需要用不同的方法来做

免责声明

  1. 我知道基本转发也可以由 nginx、varnish 和任何其他负载均衡器完成。但我的想法是填充来自不同服务器的数据,使其为客户端简化
  2. 正如您可能已经注意到的,我是 Clojure 的新手。而且我没有选择,因为谷歌关于那个也很复杂,有时没用