问题标签 [hunchentoot]
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.
amazon-web-services - 部署 Common Lisp Web 应用程序
我想知道如何部署一个用 Hunchentoot、Wookie、Woo 甚至 Clack 编写的 Common Lisp Web 应用程序。
也就是说,假设我编写了一个包含一些文件、包等的应用程序。通常,当我在本地工作时,我只需在 REPL 中运行一个命令来启动服务器,然后使用localhost:8000
或类似的东西访问它。
但是,对于将应用程序部署到 AWS EC2 等生产服务器的过程是什么,我感到有些困惑。我应该以什么形式部署 Lisp 代码?有不同的选择吗?如果服务器需要重新启动或遇到问题会怎样?
common-lisp - 生成内联 javascript 的 cl-who、parenscript 和引号问题
因此,我正在使用以下代码运行 parenscript 教程:
页面呈现,但可点击的链接不起作用。当我查看源代码时,我得到以下信息:
哪个不起作用。我需要用引号“而不是半引号”关闭警报功能。我做错了什么?
common-lisp - 错误:未绑定变量:*AJAX-PROCESSOR* 使用 HT-SIMPLE-AJAX
我正在使用 HT-SIMPLE-AJAX 在 AJAX 上提供一个简单的 JSON 结构。如果在 lisp 镜像和服务器启动之后defun-ajax
编译定义的函数,它会很好地工作。
如果我使用定义的函数加载 lisp 程序(使用ccl --load
),我会收到以下错误:
错误:未绑定变量:*AJAX-PROCESSOR* 执行时:#,在进程监听器(1)中。
输入 :GO 继续, :POP 中止, :R 获取可用重启列表。如果继续:跳过加载“/home/hunchentoot/quicklisp/local-projects/gac-man/run.lisp”类型:?其他选项。
功能如下:
ajax 处理器是在另一个函数中创建的,在程序开始时调用:
然而,如果我开始一切,然后稍后通过 slime 编译该函数,它就可以正常工作。为什么会出现这个错误?
我在 64 位 Linux 上使用 Clozure Common Lisp。
ssl - hunchentoot 用 ssl 定义简单处理程序?
我一直使用define-easy-handler。我现在有一个新铸造的 ssl 证书和相关的 pem 文件,但无法弄清楚 deh 的 ssl 等效项是什么。
例如,我有:
这只是一个简单的形式,其形式如下:
我.pem
从 freecert 获得了所需的文件,所以我认为我有文件可以转到:SSL-CERTIFICATE-FILE和:SSL-PRIVATEKEY-FILE。我已经尝试了上面的各种参数来完成这项工作,但似乎无法让它发挥作用。有人可以给我一个如何做到这一点的例子吗?
提前感谢您的帮助!
ssl - 在 LispWorks 中使用 easy-ssl-acceptor
我想在 LispWorks 中使用easy-ssl-acceptor
Hunchentoot。但是,我看到此类接受器具有以下功能语法#-:hunchentoot-no-ssl
。
这个特性确实存在于我的*features*
列表中,所以我不能使用这个类。这里有什么问题?为什么被:hunchentoot-no-ssl
添加到我的*features*
?我该如何解决这个问题以便我可以使用该easy-ssl-acceptor
课程?
PS:我在 macOS 10.13 上使用 LispWorks 7.1。
common-lisp - windows环境下加载hunchentoot时出错
我回到了一个我推迟的项目——它是用 common lisp 编写的休息服务。几个月前,当我使用sbcl 1.3.12时,我运行该项目没有问题。更新sbcl
到版本1.3.18后出现了第一个问题。我无法启动Hunchentoot,所以我回到sbcl
1.3.12并且问题得到了解决。然而那是几个月前的事了。
今天我无法运行 Huchentoot 也无法编译使用其包的项目,无论sbcl
我使用哪个版本——1.3.12或1.4.2——我认为通过 quicklisp 提供的 Hunchentoot 版本已经改变。项目的编译返回错误:
现在我什至无法启动 Hunchentoot 服务器。sbcl
我使用or没关系clozurecl
:
我试过(use-package 'hunchentoot')
但没有帮助。
虽然我在Linux环境下没有这样的问题,但是我习惯了在windows下工作,我想修复它。
是否有可能或者我应该忘记将Windows与常见的 lisp 一起使用?
lisp - cl-who 在函数调用中传递流
我正在使用 cl-who(通过 hunchentoot),到目前为止完全成功,但有一件事我无法弄清楚,而且我的解决方法很丑陋,所以我希望有一个简单的解决方法。我的 hunchentoot 简单处理程序调用看起来像这样的函数:
一切都很好。
但是,当我想从 foo 中调用辅助函数以执行...任何我想做的子工作时,我无法弄清楚如何使 CL-WHO 的 HTM 上下文通过调用进行。例如,这很好用:
但这不起作用:
(我已经尝试了各种操作,但无济于事。)
我确定我做错了一些简单的事情;必须在任何 subfn 中恢复为 t 格式是非常丑陋的,尤其是。bcs 我不能使用 cl-who 方便的 html 宏。
common-lisp - Hunchentoot 是未知的处理程序
我的基于 CI 构建的 web 应用程序的二进制文件无法运行,如果在本地构建则成功。什么可能导致这些差异,什么会导致 Hunchentoot 失败并显示此消息?
以下是不同的堆栈跟踪:
和本地:
它一直在听。
它们使用相同的框架版本(最新)运行,它们似乎运行相同的 Quicklisp dist 版本(参见lack-20181018
第一个堆栈跟踪),这是我的本地版本。CI 建立在daewok/lisp-devel-docker 之上。
我使用这个起点:
再次感谢。
post - Hunchentoot 处理复选框发布请求
我正在用 Cl-who、Hunchentoot 和 Common Lisp 开发一个需要处理客户订单的 Web 应用程序。因为他们显然可以订购不止一件商品,所以我认为 Checkbox 是最有意义的。但是,问题是当我定义一个简单处理程序时,如果您有一系列具有相同名称和不同值的复选框,它不会像 PHP 中的数组那样接收结果数组。相反,它将变量视为字符串,因此我无法遍历每个已检查的 Box。这是我的代码片段:
这是我设置的处理程序(也许我需要在这里使用循环宏?)这只是一个示例,因为当我发现这个问题时,我显然会处理传递给 easy-handler 的每个参数:
这些只是有人可以检查的三个潜在输入。所以让我们假设客户检查了所有三个......只有奶酪球会返回,因为 Lisp 将名称“food[]”视为单独的字符串。我的意思是,在 PHP 中,名称 ("food[]") 的变量将像数组一样被处理。所以在 HTML 和 PHP 中它看起来像这样:
假设客户选择了所有三个复选框,我可以在 PHP 中执行类似的操作:
但是,尚不清楚如何在 Common Lisp 中使用 Cl-WHO 和 Hunchentoot 实现类似的功能。我能想到的唯一另一种选择是将大约 30 个参数传递给 easy-handler,但这听起来是解决这个问题的效率最低的方法。我知道还有一个 CL 表单处理库,但我希望避免走这条路,尽管如果这是唯一可能的解决方案,我会这样做。给每个复选框一个不同的名称似乎是解决这个问题的最糟糕的方法。