docs: def route(self, rule, **options):
          """A decorator that is used to register a view function for a
          given URL rule.  This does the same thing as :meth:`add_url_rule`
          but is intended for decorator usage::
              @app.route('/')
              def index():
                  return 'Hello World'
          For more information refer to :ref:`url-route-registrations`.
          :param rule: the URL rule as string
          :param endpoint: the endpoint for the registered URL rule.  Flask
                           itself assumes the name of the view function as
                           endpoint
          :param options: the options to be forwarded to the underlying
                          :class:`~werkzeug.routing.Rule` object.  A change
                          to Werkzeug is handling of method options.  methods
                          is a list of methods this rule should be limited
                          to (``GET``, ``POST`` etc.).  By default a rule
                          just listens for ``GET`` (and implicitly ``HEAD``).
                          Starting with Flask 0.6, ``OPTIONS`` is implicitly
                          added and handled by the standard request handling.
          """
          def decorator(f):
              endpoint = options.pop('endpoint', None)
              self.add_update_rule(rule, endpoint, f, **options)
              return f
          return decorator