code: async def route_wrapper(self, route, request, context, request_args,
                              request_kw, *decorator_args, with_context=None,
                              **decorator_kw):
          
          # by default, do nothing, just run the wrapped function
          if with_context:
              resp = route(request, context, *request_args, **request_kw)
          else:
              resp = route(request, *request_args, **request_kw)
          if isawaitable(resp):
              resp = await resp
          return resp
docs: This is the function that is called when a route is decorated with
             your plugin decorator. Context will normally be None, but the user
             can pass use_context=True so the route will get the plugin
             context