I think that dispatch_and_return_handler is now obsolete
what about

else
  create sess -- {WSF_ROUTER_SESSION}
   router.dispatch (req, res, sess)
   if not sess.dispatched then
       execute_default (req, res)
   end