问题标签 [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.
clojure - 将 Lacinia 导入 Clojure 项目时出错
引导 REPL 返回此错误
当我尝试在其中运行(require :reload 'entrypoint)
时。我的命名空间入口点没有代码,只有:require
导入外部代码的功能:
我的build.boot
样子是这样的:
我究竟做错了什么?丁:
clojure - 带有基座 clojure 服务器的通用 [/*proxy :any] 和特定 [/service/x :post..] 路由
我是一个有基座(pedestal.io)的新手,我正在尝试代理我从浏览器获得的所有请求,除了一些需要额外拦截器的特定请求。这些是我的路线:
但是我从来没有调用虚拟拦截器。这些应该如何结合?
clojure - 启动方法后基座组件不更新自身
我的基座组件的代码如下。当 Stuart Sierra 的库启动我的系统映射时,Pedestal defrecord 中实现的方法 start 被调用,它返回与 :pedestal-server 关联的组件的更新版本。生命周期管理器不应该传播更新的组件以便它可以被 stop 方法使用吗?每当我尝试通过在 REPL 中调用 (component/stop (system)) 来停止服务器时,什么都不会发生,因为 :pedestal-server 键设置为 nil。
clojure - 从 src 目录提供图像文件 - 404 错误
我在Clojure、Pedestal和Boot 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
结果:
--
在这里你是应用程序
如何使图像在网站上显示?
clojure - 在 pedestal.io 中路由某些类型的图像
我正在为以下内容创建路线:
/
/*.jpg
/*.png
在pedestal.io中。
我返回的错误代码boot.user=> clojure.lang.ExceptionInfo: route conflict
是这个
知道如何改进吗?
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):
java - 集成集成与基座的宏扩展错误
我正在尝试将 clojure 库集成与基座一起使用,但我在编译时遇到了一个奇怪的错误
redblackrose.core 文件是
我知道这个例子看起来几乎没用(只有一个集成的“组件”),但我只是为一个更复杂的项目(也需要数据库访问)设置框架。
unit-testing - 在 Clojure 中,如何对异步基座拦截器进行单元测试?
我有一个要测试的异步基座拦截器:
我首先尝试了一个幼稚的测试:
这不起作用,因为当它具有异步拦截器时chain/execute
返回。nil
我尝试了另一种解决方案,在测试后的拦截器中添加测试:
但是这不起作用,因为测试在执行测试之前终止,因此成功......即使测试在一秒钟后失败:
在实践中,我的测试套件(使用 Kaocha)失败了,因为deftest
其中没有断言。
鉴于chain/execute
返回nil
而不是 chan,我无法将其包装在 aas/<!!
中以阻塞,直到它终止。
在这一点上,我被困住了。我能做些什么来测试这种拦截器吗?
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
我一直在尝试的
例子:
我只是无法将基座的路由系统与此代理解决方案混合,路由不同,似乎,也许我需要用不同的方法来做
免责声明
- 我知道基本转发也可以由 nginx、varnish 和任何其他负载均衡器完成。但我的想法是填充来自不同服务器的数据,使其为客户端简化
- 正如您可能已经注意到的,我是 Clojure 的新手。而且我没有选择,因为谷歌关于那个也很复杂,有时没用