如何使用 hunchentoot 禁用静态文件服务?

How to disable static file serving with hunchentoot?

我昨晚大部分时间都在浏览 hunchentoot 文档和源文件,但找不到有关如何禁用静态文件服务的提示。

我只想编写一些处理程序,以回复 HTTP Post 请求。 由于我没有在文档中找到任何关于如何禁用静态文件共享的提示,我觉得无法在这里给出任何“编码尝试”以及这个问题。

我目前(未经测试的第一次尝试)是,给 :document-rootnil 但没有记录 hunchentoot 将如何处理它(我想要的或使用默认根目录.. .).

(let ((acceptor (make-instance 'hunchentoot:easy-acceptor
                 :port port
                 :document-root nil
                 :name 'storage-acceptor)))
   ;; ...
)

事实上,hunchentoot 似乎大量使用 CLOS 让我更难,因为我通常避免 CLOS 并坚持“正常”的 lisp 编程(也是出于性能原因...)。

hunchentoot 的另一个混淆点来自一些(至少对我而言)新的全局变量用法(我以前从未见过 defvar-unbound 或类似的东西)。

因此,如果您提供了如何使用 hunchentoot 禁用文件服务的示例片段,请不要对我的 CLOS 和全局变量技术知识假设太多。

此外,我想在我的代码中使用 single-threaded-acceptor,因为 hunchentoot 将在我程序的单个线程上的 lparallel 任务中 运行。不过不确定这是否会影响您的回答。

通过阅读 acceptor.lisp 中的初始化和使用,我非常确定将 document-root 显式设置为 nil 将禁用从文件系统查找静态文件。我同意应该对此进行测试并将其添加到文档中。