Different route behavior when using different backends
- 主要語言
- Common Lisp
- 星號
- 101
- 分支
- 12
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Example
```
(ql:quickload '(:weblocks :weblocks-ui :weblocks-navigation-widget))
(defpackage todo
(:use #:cl
#:weblocks-ui/form
#:weblocks/html)
(:import-from #:weblocks/widget
#:render
#:update
#:defwidget)
(:import-from #:weblocks/actions
#:make-js-action)
(:import-from #:weblocks/app
#:defapp)
(:import-from #:weblocks-navigation-widget
#:defroutes))
(in-package todo)
(defapp tasks
:prefix "/")
(defwidget task ()
())
(defmethod render ((task task))
(with-html (:h1 "Test")))
(defroutes test
("/" (make-instance 'task)))
(defmethod weblocks/session:init ((app tasks))
(declare (ignorable app))
(make-test))
```
when using :`(weblocks/server:start :port 40000 :server-type :hunchentoot :interface "127.0.0.1")`, you should get "Test" from 127.0.0.1:4000
But both
`(weblocks/server:start :port 40000 :server-type :wookie :interface "127.0.0.1")` and
`(weblocks/server:start :port 40000 :server-type :woo :interface "127.0.0.1")` give error like this:
```
;;woo, from repl
Callback Error: the message-complete callback failed
The value of WEBLOCKS/ROUTES::PATH is NIL, which is not of type STRING.
```
```
;;wookie, from 127.0.0.1:4000
There was an error processing your request: The value
NIL
is not of type
SIMPLE-STRING
when binding STRING
```
Where am I wrong?
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
The issue shows a route handling problem with different backends (hunchentoot vs. woo/wookie). Look at the routing code in weblocks-navigation-widget and the server start functions. Run the provided example to reproduce the error, then trace why PATH becomes nil with some backends. Check how each backend processes requests and passes them to the route handler.
由索引模型根據 Issue 內容生成。
評估
- 領域
- backend, web-dev
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100