After dispatch is exhausted if the object we started with is the object we ended up with, but wasn't an executable endpoint, dispatch needs to exit. Currently it does not, triggering an infinite loop.
Simple test case:
class Root:
def __init__(self, context):
self._ctx = context
After dispatch is exhausted if the object we started with is the object we ended up with, but wasn't an executable endpoint, dispatch needs to exit. Currently it does not, triggering an infinite loop.
Simple test case:
Then
GET
/test
and watch the infinite recursion.