我正在使用Hunchentoot,并希望更改会话cookie的名称。这是通过一个通用函数实现的,文档说要更改名称,你可以“专门化函数”。
我不确定这意味着什么。我的印象是专门的函数是在某些参数类型上调度方法。在这种特殊情况下,该函数采用服务器接受器,我不想改变它。有人可以照亮我吗?
API:http://weitz.de/hunchentoot/#session-cookie-name
这是源代码中的实现:
(defgeneric session-cookie-name (acceptor)
(:documentation "Returns the name \(a string) of the cookie \(or the
GET parameter) which is used to store a session on the client side.
The default is to use the string \"hunchentoot-session\", but you can
specialize this function if you want another name."))
(defmethod session-cookie-name ((acceptor t))
"hunchentoot-session")
答案 0 :(得分:3)
创建一个子类并以这种方式专门化:
(defclass my-acceptor (hunchentoot:acceptor) ())
(defmethod session-cookie-name ((acceptor my-acceptor))
"my-session")
这个功能仍然需要一个接受者,现在只是你的接受者。