HTTPServer#attach(name, obj) とAPIを考えてみました。server
wide の名前つきオブジェクトを提供するためのもので、セッショ
ン管理する人のようにサーバ内に1つあれば良いものや、ちょうど1
つであって欲しいものを attach することを想定しています。
mountだとuriと関連させる必要があるので不向きです。
さらに AbstructServlet#attachment(name) で実行時に使っている
サーバオブジェクトに name で attach されているオブジェクトに
参照できるものとします。
実装としては
class HTTPServer
ATTACHMENT = {}
def attatch(name, obj)
Server::ATTACHMENT[name] = obj
end
def service(req, res)
...
si = servlet.get_instance(@config, *options)
if si.respond_to?(:set_attachment)
si.set_attachment(ATTCHMENT)
si.service(req, res)
end
end
のような感じを考えています。どうでしょう?
-- Gotoken