_cp_dispatch 在 cherrypy 中没有被调用
_cp_dispatch not getting called in cherrypy
在下面的示例中,我希望在访问 url http://127.0.0.1:8080/b/method_b 时出现异常。相反,我在浏览器中得到包含文本 'method_b' 的正常 http 响应。没有引发异常,这意味着 _cp_dispatcher 没有被调用。我对 _cp_dispatch 有什么误解吗?我在 python 2.7.10
中使用 cherrypy 版本 3.8.0
import cherrypy
class B(object):
def _cp_dispatch(self, vpath):
raise Exception("Here!!")
@cherrypy.expose
def method_b(self):
return "method_b"
class A(object):
def __init__(self):
self.b = B()
cherrypy.quickstart(A())
是的,您对 _cp_dispatch
有误,只有当没有 property/method 匹配请求时才会调用它。
如果您调用:http://127.0.0.1:8080/b/method_a,它将引发异常。
method_a
不存在,method_b
存在。
在下面的示例中,我希望在访问 url http://127.0.0.1:8080/b/method_b 时出现异常。相反,我在浏览器中得到包含文本 'method_b' 的正常 http 响应。没有引发异常,这意味着 _cp_dispatcher 没有被调用。我对 _cp_dispatch 有什么误解吗?我在 python 2.7.10
中使用 cherrypy 版本 3.8.0import cherrypy
class B(object):
def _cp_dispatch(self, vpath):
raise Exception("Here!!")
@cherrypy.expose
def method_b(self):
return "method_b"
class A(object):
def __init__(self):
self.b = B()
cherrypy.quickstart(A())
是的,您对 _cp_dispatch
有误,只有当没有 property/method 匹配请求时才会调用它。
如果您调用:http://127.0.0.1:8080/b/method_a,它将引发异常。
method_a
不存在,method_b
存在。