问题标签 [kemal]

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 投票
3 回答
810 浏览

http - Crystal-lang 文件/图片上传 http 服务器

是否有可能拥有一个基于水晶的网络服务器来处理文件上传?我一直在查看文档,以及许多水晶网络框架。我在任何地方都没有找到任何对简单文件上传功能的引用。

这可能吗,还是我必须寻找其他地方来处理我的图像上传?

0 投票
1 回答
643 浏览

concurrency - Crystal lang 光纤和网络插座

我是水晶初学者。我有疑问,也许有人可以帮助我。

我使用 Kemal 框架。有这个代码:

但是结果只发送到 web socket 一次。

(仅在第一次发布请求后)

我该如何解决?

0 投票
2 回答
140 浏览

crystal-lang - 从水晶 0.19.4 升级到 0.20 后无法编译

分片安装顺利,但编译给出了这个错误。使用icr检查能够成功连接到本地 postgres 数据库。任何帮助是极大的赞赏!谢谢你。

0 投票
1 回答
219 浏览

session - 使用带有 websocket 的 Kemal 会话

Crystal 中 Kemal Web 框架的 kemal-session 模块的文档提供了以下示例

我将 Kemal 与Websocket一起使用。我有一个类似于以下示例的代码。鉴于我无权访问,我如何使用会话env

0 投票
1 回答
307 浏览

crystal-lang - 模板中的嵌入式 Crystal 变量

我是水晶新手(从未真正使用过红宝石),所以为这里的无知道歉!我查看了ecr 文档,但似乎无法在那里找到答案。

我正在考虑在Kemal中将 Embedded Crystal 用于动态模板。我可以确认 - 模板只能呈现调用范围内可用的变量,还是可以从模板本身进行方法/函数调用?IE 是否存在能够从模板中执行“恶意”水晶代码的可能性/风险(在这种情况下,恶意是指 I/O 或文件访问等)?

以 Kemal 文档为例:

在视图hello.ecr中 - 是name模板中唯一可用的项目,还是可以File.delete("./foo")从模板中调用?

0 投票
1 回答
245 浏览

crystal-lang - Kemal 框架 - 未定义的常量 HTTP::FormData

我正在尝试使用以水晶语言编写的 kemal 框架来设置 Web 应用程序。我按照这里的入门指南中提到的教程进行操作

但是,我什至连最基本的网络应用程序都无法运行。该行Kemal.run给出了一个错误,该错误会追溯到该行lib/kemal/src/kemal/param_parser.cr:69并显示此错误undefined constant HTTP::FormData

我找到了HTTP::FormData模块https://github.com/RX14/multipart.cr。将此添加为依赖项并要求它没有帮助。

提前致谢

0 投票
1 回答
215 浏览

crystal-lang - 404 GET / 当 index.html 可用时

我正在尝试使用 Kemal 在 Crystal 中编写一个简单的静态站点。

通过这个页面,我应该没问题,但是当我尝试加载网站时得到 404。

我的程序看起来像这样(你可以看到我注释掉的所有代码试图追踪问题)

这是我的目录结构的样子:

0 投票
1 回答
132 浏览

crystal-lang - 写入后如何修改 HTTP::Response

我正在尝试为 Crystal(特别是 Kemal)编写一些工具,在其中我可以查看响应内容类型是否为text/html并修改已经写入的响应正文,HTTP::Response然后通过将 HTML 元素注入到客户端将其发送到客户端现有的 html 响应正文。

我注意到这HTTP::Server::Response是只写的,但是Gzip::Writer可以修改正文之类的东西。

如何在将HTTP::Server::Responsehtml 正文发送到客户端之前对其进行修改?

0 投票
2 回答
755 浏览

macos - Crystal 构建失败并显示“ld: library not found for -lssl”

我刚刚启动了一个全新的 Crystal 应用程序,添加了 Kemal,并且在构建“Hello World!”时 来自 Kemal 文档的应用程序,我得到:

$ crystal build --release src/orderprinterlinks.cr ld: library not found for -lssl clang: error: linker command failed with exit code 1 (use -v to see invocation)

在 OSX 10.12.4 上

任何想法为什么找不到图书馆?

0 投票
0 回答
127 浏览

ruby-on-rails - 了解 Web 会话 id WRT rails

我正在研究一种在 Rails 应用程序和Kemal应用程序之间进行会话的方法。我现在可以手动执行此操作,但是kemal 的这个库允许扩展会话的处理方式。我已经在这里开始了。

我的问题是,当我从 rails 解密会话 cookie 值时,我得到一个哈希值,其中包含一个session_id值,例如0cc175b9c0f1b6a831c399e269772661. 这是如何session_id产生的?当我在这里扩展引擎时,这是否与我需要传递的 session_id 相同?还是将整个会话 cookie 值视为“id”?

这是如何在 Rails 中解密的示例:

编辑(澄清):我目前有 2 个轨道应用程序在它们之间共享会话。我的目标是用 kemal 应用程序替换其中一个 rails 应用程序。我目前在 rails -> kemal 有这个工作,但是去 kemal -> rails 是行不通的。

Rails 是如何产生这个session_id价值的?我应该在 kemal 中以同样的方式生成这个值吗?